Possible en double: How to access java-classes in the default-package?Comment importer une classe de package par défaut
J'utilise Eclipse 3.5 et j'ai créé un projet avec une structure de paquet avec le package par défaut. J'ai une classe dans le paquet par défaut - Calculations.java et je veux faire l'utilisation de cette classe dans l'un des paquets (par exemple dans com.company.calc
). Lorsque j'essaie de faire l'utilisation de la classe qui est dans le paquetage par défaut, cela me donne une erreur de compilation. Il n'est pas capable de reconnaître la classe dans le package par défaut. Où est le problème?
Calculations.java - code source
public class Calculations {
native public int Calculate(int contextId);
native public double GetProgress(int contextId);
static {
System.loadLibrary("Calc");
}
}
Je ne peux pas mettre ma classe dans un autre paquet. Cette classe a des méthodes natives qui sont implémentées dans Delphi. Si je mets cette classe dans l'un des dossiers, je vais devoir apporter des modifications à cette DLL que je veux éviter (vraiment - je ne peux pas). C'est pourquoi j'ai mis ma classe dans le paquet par défaut.
J'ai trouvé ce lien: http://stackoverflow.com/questions/283816/how-to-access-java-classes-in-the-default-package après avoir créé cette question. –
duplication possible de [Quelle est la syntaxe pour importer une classe dans un package par défaut en Java?] (Http://stackoverflow.com/questions/2030148/whats-the-syntax-to-import-a-class-in-a -default-package-in-java) – Pops
Bien sûr, le bit important de cette question est que la classe ** et ** son code ** doit être dans le paquet par défaut **. A partir de maintenant, toute autre réponse que d'utiliser l'API de réflexion * (vraiment, une surpuissance pour quelque chose d'aussi simple) * n'est pas ** une solution. Il est ahurissant de voir comment Java essaie d'avoir son gâteau (décourager le paquetage par défaut) et de le manger aussi (rendre JNI si compliqué, la plupart d'entre nous finissent par utiliser des DLL qui nécessitent un paquetage par défaut). – ADTC