28 votes

Comment vérifier les dépendances entre les fichiers Jar ?

J'ai récemment pris en charge le support et la programmation d'un système web écrit en JSF. Le code est un peu désordonné et redondant, et oui, aucune documentation n'existe.

Le système compte plus de 40 bibliothèques jar, et la plupart d'entre elles sont redondantes en raison d'anciennes versions et de tests. Pour supprimer un jar, je dois vérifier qu'il n'est pas importé dans le code, donc j'ai recherché le chemin d'importation du jar dans le code (j'utilise IntelliJ IDE), je me suis assuré qu'il n'est pas utilisé et je l'ai supprimé.

Cependant, après avoir compilé le code, un certain nombre d'erreurs d'exécution sont apparues lors des tests. Je me suis rendu compte que j'avais supprimé certains jars qui sont utilisés par d'autres jars existants.

Le problème, comment m'assurer avant de supprimer un jar qu'il n'est pas utilisé par un autre jar/classe java ?

Malgré le fait que les jars ont des classes compilées, les classes compilées faire ont le chemin d'importation des bibliothèques requises. Mais je ne peux pas les chercher avec IntelliJ (il ne cherche pas dans les fichiers jars).

Le seul moyen que j'utilise actuellement est de tester le système à chaque fois que je retire un bocal et de voir si je peux le faire planter ! Ce n'est pas du tout un moyen facile en raison du nombre énorme de fonctionnalités à tester.

J'aimerais qu'il existe un outil qui me permette de soumettre un certain nombre de fichiers java/jars, et qui affiche les dépendances entre eux.

21voto

Uri Points 50687

Je sais que le projet JBoss a donné naissance à un outil appelé JBoss TattleTale, qui pourrait valoir le coup d'œil :

http://www.jboss.org/tattletale

6voto

Nick Veys Points 8638

JDepend analysera les dépendances pour vous pour un nombre quelconque de JARs, de fichiers de classe, etc. Relier les paquets qu'il rapporte à ces JARs devrait être une étape supplémentaire triviale.

1voto

silmx Points 355

Pourquoi n'utilisez-vous pas Maven pour votre projet ? cela vous aidera beaucoup à gérer les dépendances.

1voto

giraff Points 1758

J'ai aussi trouvé JarAnalyzer mais il ne semble plus être entretenu.

1voto

Anderson Mao Points 251

Eh bien, nous sommes en 2013 maintenant, donc je ne suis pas sûr que cet outil était génial en 2009. Je l'ai juste utilisé et trouvé qu'il était utile : Analyseur de dépendances de classes (CDA) (V1.14) http://www.dependency-analyzer.org/ Cet outil a une interface graphique (Swing ?). Après avoir ajouté les jars lib et les classes Java, il affiche les dépendances au niveau Class/Package/Container(jar). Il peut également afficher les dépendances. Il est donc facile de trouver les jars dépendants et les jars dépendants.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X