Dans la perspective Eclipse Java EE, comment ajouter un pot partagé à un projet utilitaire? Pour élaborer: Dans un projet Java "normal" (non Java EE), il existe des bibliothèques référencées dans lesquelles vous pouvez placer des fichiers jar. Dans un projet Web dynamique, il existe des bibliothèques d'applications Web. Dans un projet utilitaire, seules les bibliothèques EAR n'apparaissent pas pertinentes (des bibliothèques référencées apparaissent dans la perspective Explorateur de packages en Java, mais pas dans l'Explorateur de projet dans la perspective Java EE). Je suis allé de l'avant et ajouté un répertoire/lib sous ma racine de projet utilitaire, et mettre un pot là (j'ai oublié si je l'ai fait dans la perspective du paquet Java, ou seulement dans le système de fichiers). Je l'ai ajouté à Java Build Path et tout compile, y compris les projets Web dynamiques qui référencent le projet utilitaire. Mais quand je déploie sur Tomcat, j'obtiens ClassNotFoundException pour les classes dans le jar thirdparty. Comment puis-je ajouter le fichier thirdparty au projet utilitaire de manière à le déployer dans le cadre de l'application Web?Comment inclure des bibliothèques tierces dans Utilty Project?
Répondre
Je lui ai répondu quelque chose de semblable auparavant.
Eclipse and How it Handles JARS -- Odd Case
Essentiellement, il y a une différence entre l'accumulation et à l'exécution en temps dépendances JAR. Pour l'inclusion dans les fichiers EAR/WAR, vous devez utiliser les panneaux "Deployment Assembly".
Je ne suis pas sûr de comprendre exactement votre question, mais vous pouvez simplement un clic droit sur votre projet, vous sélectionnez Properties
Java Build path
>Libraries
, puis ajoutez votre JAR dans la liste des bibliothèques parties tierces. Cela ajoutera votre jar dans le projet classpath. Une autre façon est d'utiliser la solution (moche) de créer un répertoire lib
, y mettre toutes les bibliothèques tierces, et ajouter ce répertoire dans le classpath de votre projet (comme pour la solution précédente, comme vous pouvez ajouter un répertoire entier dans le projet Eclipse).
La dernière solution est de confier la responsabilité de la gestion des dépendances à un véritable système de construction, tels que Maven, Ant + Ivy, Gradle ...
- 1. Comment utiliser des bibliothèques tierces dans glassfish?
- 2. liant des bibliothèques tierces
- 3. Gestion des bibliothèques tierces
- 4. Bibliothèques tierces dans CMake
- 5. Compiler un Qt-Project et inclure des bibliothèques Qt
- 6. comment importer des bibliothèques tierces en Python
- 7. Comment ajouter des bibliothèques tierces à MinGW?
- 8. Bibliothèques tierces dans EJB-JAR
- 9. Bibliothèques Proguard et tierces
- 10. comment intégrer des bibliothèques JavaScript tierces dans les scripts utilisateur
- 11. Comment créer des bibliothèques tierces avec Android NDK
- 12. Pourquoi utiliser des bibliothèques vectorielles tierces?
- 13. Inclure log4j.xml dans Project Jar
- 14. Déploiement Python avec des bibliothèques tierces
- 15. Confus dans l'utilisation de bibliothèques tierces opensource
- 16. Comment documenter les modifications de bibliothèques tierces?
- 17. Téléchargement de bibliothèques tierces Python
- 18. Comment inclure des bibliothèques externes dans le fichier Ant build.xml?
- 19. Où dois-je mettre les bibliothèques tierces?
- 20. signature de bibliothèques tierces interdépendantes non signées
- 21. Liaison de bibliothèques tierces (libs.a) avec NDK
- 22. Utilisation de bibliothèques tierces en Python
- 23. questions d'utilisation de gdb pour déboguer des bibliothèques tierces
- 24. Android: désactiver la sortie du journal des bibliothèques tierces
- 25. Javadoc: Les annotations de bibliothèques tierces
- 26. Meilleures Apple Push Notifications bibliothèques tierces
- 27. Comment inclure plusieurs bibliothèques php dans Symfony?
- 28. comment inclure des bibliothèques dans Java sans utiliser un IDE
- 29. Comment puis-je inclure des bibliothèques .a dans Xcode?
- 30. comment inclure des bibliothèques partagées précompilées dans apk avec eclipse
Cela semble être le bon chemin, mais je ne vois pas le panneau Assemblage de déploiement. Je suis sur Eclipse 3.5 ... – ykaganovich
Ok, j'ai migré vers Helios en utilisant http://wiki.eclipse.org/FAQ_How_do_I_upgrade_Eclipse%3F et je peux publier les fichiers jar tiers du projet utilitaire dans l'assemblage de déploiement de projet Web dynamique. Je préférerais que les projets Web dynamiques récupèrent automatiquement les paramètres du projet utilitaire, est-ce possible? Sinon, cette solution fonctionne, je dois juste jouer avec les paramètres de l'assemblage de déploiement pour ** chaque ** projet Web dynamique qui fait référence au projet utilitaire ... – ykaganovich
+1, bonne question. À ma connaissance, ceci n'est pas implémenté dans WTP/Eclipse et je pense que c'est pour une bonne raison. Pour l'assembly de déploiement, Eclipse doit connaître le chemin de classe * runtime * du module utilitaire; ce n'est pas forcément identique au classpath de construction. Par exemple: disons que votre projet utilitaire nécessite des interfaces Servlet à compiler. Vous ajouteriez le fichier JAR requis au buildpath de votre utilitaire, afin qu'il soit compilé. Génial. Mais serait-il logique d'ajouter le même JAR à la webapp? définitivement et absolument _not_, car le JAR est fourni par le runtime de la webapp. – Isaac