OVH Cloud OVH Cloud

utilitaire de recherche des jar nécessaires

2 réponses
Avatar
franck_perrin14
Bonjour,

Je voudrais savoir si quelqu'un connait un utilitaire qui permet de
déterminer les jars nécessaires au fonctionnement d'un programme.

Récemment, j'ai essayé d'utiliser Betwixt du projet Jakarta, et j'ai
dû ajouter successivement commons-digester.jar,
commons-collections.jar, commons-logging.jar, commons-beanutils.jar
dans le classpath, au fur et à mesure des
java.lang.NoClassDefFoundError que je déclenchais.

Je connais un plug-in Eclipse (Jar Class Finder) qui permet de
retrouver un jar à partir d'un nom de classe.

Existe t'il un utilitaire du même genre qui parcourerait les classes
d'un jar pour déterminer les classes manquantes et le jar auquel elles
appartiennent ?

2 réponses

Avatar
Christophe M
Franck Perrin wrote:

Bonjour,

Je voudrais savoir si quelqu'un connait un utilitaire qui permet de
déterminer les jars nécessaires au fonctionnement d'un programme.

Récemment, j'ai essayé d'utiliser Betwixt du projet Jakarta, et j'ai
dû ajouter successivement commons-digester.jar,
commons-collections.jar, commons-logging.jar, commons-beanutils.jar
dans le classpath, au fur et à mesure des
java.lang.NoClassDefFoundError que je déclenchais.

Je connais un plug-in Eclipse (Jar Class Finder) qui permet de
retrouver un jar à partir d'un nom de classe.

Existe t'il un utilitaire du même genre qui parcourerait les classes
d'un jar pour déterminer les classes manquantes et le jar auquel elles
appartiennent ?


ça serait effectivement un outil bien pratique.
Mais pour qu'il fonctionne, il faudrait que les classes dont ta classe
principale dépend soient déjà dans le classpath, et donc que tu n'aies
pas au départ de problème de classnotfound... Si ça n'est pas dans le
classpath, le classloader ne peut la trouver et donc te dire "Tiens j'ai
trouvé machin dans le toto.jar, faudrait penser à l'inclure lors du
déploiement"

A moins qu'un outil comme ça se base sur une "base de connaissance"
genre un fichier de correspondance : Tout ce qui est org.apache.tomcat
-> tomcat.jar,etc..
ça pourrait le faire, mais bonjour la maintenance de la correspondance
classe-> .jar

Avatar
franck_perrin14
Christophe M <mccricri_at_hotmail.com> wrote in message news:<40fb6e5b$...
Franck Perrin wrote:

Bonjour,

Je voudrais savoir si quelqu'un connait un utilitaire qui permet de
déterminer les jars nécessaires au fonctionnement d'un programme.

Récemment, j'ai essayé d'utiliser Betwixt du projet Jakarta, et j'ai
dû ajouter successivement commons-digester.jar,
commons-collections.jar, commons-logging.jar, commons-beanutils.jar
dans le classpath, au fur et à mesure des
java.lang.NoClassDefFoundError que je déclenchais.

Je connais un plug-in Eclipse (Jar Class Finder) qui permet de
retrouver un jar à partir d'un nom de classe.

Existe t'il un utilitaire du même genre qui parcourerait les classes
d'un jar pour déterminer les classes manquantes et le jar auquel elles
appartiennent ?


ça serait effectivement un outil bien pratique.
Mais pour qu'il fonctionne, il faudrait que les classes dont ta classe
principale dépend soient déjà dans le classpath, et donc que tu n'aies
pas au départ de problème de classnotfound... Si ça n'est pas dans le
classpath, le classloader ne peut la trouver et donc te dire "Tiens j'ai
trouvé machin dans le toto.jar, faudrait penser à l'inclure lors du
déploiement"

A moins qu'un outil comme ça se base sur une "base de connaissance"
genre un fichier de correspondance : Tout ce qui est org.apache.tomcat
-> tomcat.jar,etc..
ça pourrait le faire, mais bonjour la maintenance de la correspondance
classe-> .jar


Déjà si je savais que la classe est absente ça pourrait m'aider ...
D'autre part, le Jar Class Finder permet de rechercher une classe en
parcourant l'ensemble des jars situés dans le répertoire qu'on lui
spécifie.
Il "suffirait" de coupler les deux outils.
Plus facile à dire qu'à faire ...