Si j'ai une classe org.foobar.MyClass et que je veux la mettre dans un fichier JAR, dois-je la mettre dans le répertoire/org/foobar/du JAR, ou puis-je Placez-le dans/bin/org/foobar/et spécifiez/bin/comme chemin de classe dans le JAR lui-même?Spécification du chemin de classes pour les classes dans le JAR lui-même
Répondre
La manière habituelle que tout le monde fait ceci - jusqu'ici je n'ai jamais vu un JAR faire quelque chose de différent - est de placer la classe org.foobar.MyClass dans le fichier JAR du répertoire JAR/org/foobar /. Je ne peux pas imaginer une bonne raison de faire quelque chose de différent, car cela empêcherait l'utilisation normale de ce JAR par quiconque ne fait pas des choses inhabituelles.
Je crois que vous pouvez accomplir cela en utilisant le fichier MANIFEST. Si je me souviens bien, vous pouvez spécifier l'emplacement d'un fichier particulier dans le pot.
Pourquoi feriez-vous ce dernier? Il est plus facile de le placer dans le bon répertoire en fonction du nom du paquet, ce qui évite d'avoir à éditer le fichier MANIFEST ou d'effectuer d'autres réglages spéciaux.
Le nom du fichier jar doit correspondre au nom de la classe. Sauf si vous écrivez un chargeur de classe personnalisé pour faire des choses bizarres.
Vous pouvez spécifier un "répertoire" dans le fichier jar en utilisant une URL de jar. Cependant, je ne pense pas que URLClassLoader
gère cela correctement (pas essayé).
Une fonctionnalité qui existe en standard consiste à ajouter d'autres fichiers jar au classpath en les spécifiant dans le manifeste.
Vous pouvez inclure la propriété Class-Path dans votre manifeste, en répertoriant les fichiers JAR dont dépend votre application. Les chemins seront considérés par rapport à l'emplacement de votre JAR exécutable.
Par exemple, si votre app.jar contient ce dans le MANIFEST.MF:
Class-Path: lib1.jar, lib/lib2.jar
Ensuite, la machine virtuelle Java s'attendra à trouver lib1.jar dans le même répertoire que app.jar et un sous-répertoire appelé lib contenant lib2.jar.
- 1. Classes JavaBeans dans des fichiers JAR distincts
- 2. Comment faire Ant préfèrent les classes d'un JAR lié sur les classes JDK?
- 3. Spécification du chemin d'accès Java pour le fichier de propriétés
- 4. définition de classpath pour les classes java (fichier jar) dans XUL, pour accéder via javascript
- 5. Comment explorer les classes chargées à partir des fichiers JAR?
- 6. Préchargement de classes/bibliothèques java au démarrage de jar?
- 7. Spécification du chemin d'accès relatif dans py2exe
- 8. Comment obtenir le chemin des classes de sortie du projet dans le plugin eclipse
- 9. Les classes du même package peuvent-elles être réparties dans plusieurs fichiers Jar?
- 10. interfaces pour les classes modèles
- 11. Comment modéliser correctement les classes imbriquées/sous-classes dans UML?
- 12. variables PHP dans les classes
- 13. Incompatibilité de type pour les classes génériques
- 14. Diagramme de classes pour une application PHP sans classes
- 15. Classes et sous-classes CSS
- 16. Événements dans les classes de base
- 17. sous les classes Databinding
- 18. Spécification du type de classe d'héritage dans les Rails Formulaire
- 19. Définition de classes dans les fichiers Java
- 20. Le contenu est le même dans les deux classes ul
- 21. vtables pour les classes dérivées, concrètes,
- 22. Traiter avec le calcul paresseux dans les classes de C
- 23. Classes NHibernate fluentes comme code derrière pour les classes de domaine
- 24. signatures JNI pour les classes imbriquées?
- 25. jQuery remplacer les chaînes dans plusieurs classes
- 26. Nombre de classes dans .NET?
- 27. Localisation dans Bibliothèque de classes
- 28. Bibliothèque de classes dans Visio
- 29. Qui charge les classes javax.swing. * Dans le conteneur Equinox osgi?
- 30. Styles pour les classes CSS dans un iframe