Comment connaître les jars chargées dans la jvm ? [Résolu]

Messages postés
3982
Date d'inscription
mardi 8 mars 2005
Dernière intervention
7 novembre 2014
- - Dernière réponse : cs_khawlagammoudi
Messages postés
4
Date d'inscription
dimanche 24 avril 2011
Dernière intervention
15 juin 2012
- 9 déc. 2011 à 14:58
Salut,

(Je dois travailler sous Eclipse)

Que ce soit sur des petits projets utilisant des jars peu orthodoxes, ou sur de grands projets utilisant beaucoup de jar (Plus de 70 dans mon projet en cours...), je rencontre régulièrement des problèmes.

Par exemple, j'ai parfois plusieurs .jar contenant la même chose en version différentes, donc avec des méthodes différentes, donc le tout plante à l'exécution.

Je travaille avec tomcat, jetspeed... tout le monde se partage les libs et tout le monde n'a pas besoin de la même chose.

La config est complexe : j'ai des dépendances entre projet par exemple. Donc quand je sélectionne sous Eclipse dans les "java build path" sur un projet, je ne sais pas qu'elle sont les répercusion sur le projet d'à côté : quelles seront les jars chargés au final ?

Je sais que l'on peut récupérer la ligne de commande en faisant un clique droit sur le processus puis "propriété", mais c'est assez illisible et cela ne m'avance pas beaucoup.

Bref, je suis dans le brouillard.

Je me demande donc s'il existe un outil (ou un plugin eclipse, ou des classes d'interrogation de la jvm...) permettant de connaître tous les jars :
Leurs ordres de chargement.
Leurs emplacement sur le disque.
Leurs versions.

de n'importe quelle jvm qui tourne sur un PC.

En un mot, je voudrais ça, mais en java.

Merci d'avance.
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
2465
Date d'inscription
samedi 21 février 2004
Dernière intervention
29 janvier 2010
3
Merci
tu pourras recuperer tes dossiers mais je suis aps sur que tu pourras recuperer chaqun des jar

si j'etais toi je ferais le menage dans ma config.

Sinon les classes chargees par un programme lance par eclipse seront celle dans /jre/lib /jre/lib/ext plus celle definis dans la variable classpath du systeme, plus celle que tu as ajoutee dans le build path ...

tu verras tout les jars utilise par une appli dans eclipse dans le dossier du projet il te les montre

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de sheorogath
Messages postés
750
Date d'inscription
mardi 9 mars 2004
Dernière intervention
23 décembre 2008
3
Merci
Salut,
dans le répertoire bin de la jdk 1.5 - 1.6, tu pourras trouver un exe s'appelant jconsole qui permet de voir les programmes en cours, et pas mal d'info dessus (dans la versiion 1.6, tu as également jvisualvm.exe). Ceci est assez pratique pour voir ce qui a été chargé, et voir la consommation CPU, mémoire ...

A voir

Voili voilà

le monde a des idées : la preuve, c'est qu'il y en a de mauvaises
ne comprends pas tout, mais je parle de tout : c'est ce qui compte

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de indiana_jules
Messages postés
3982
Date d'inscription
mardi 8 mars 2005
Dernière intervention
7 novembre 2014
3
Merci
Ah bah tout bêtement y a une option de la jvm qui envoie dans la console toutes les classes chargées, et à partir de quel jar elles le sont. Nickel pour une appli lancée en invite.

Par contre, dommage, sous Eclipse, on dirait qu'un certains nombre de jar sont déjà chargé quand on lance le debug... Probablement tout ceux de la liste de gauche de sheorogath... La liste à l'air ordonnée d'ailleurs.

Bon on va dire que ça va me suffire. Merci tout le monde.

<hr />
java -verbose:class -jar Notepad.jar

[Opened C:\j2sdk1.4.2_17\jre\lib\rt.jar]
[Opened C:\j2sdk1.4.2_17\jre\lib\sunrsasign.jar]
[Opened C:\j2sdk1.4.2_17\jre\lib\jsse.jar]
[Opened C:\j2sdk1.4.2_17\jre\lib\jce.jar]
[Opened C:\j2sdk1.4.2_17\jre\lib\charsets.jar]
[Loaded java.lang.Object from C:\j2sdk1.4.2_17\jre\lib\rt.jar]
[Loaded java.io.Serializable from C:\j2sdk1.4.2_17\jre\lib\rt.jar]
[Loaded java.lang.Comparable from C:\j2sdk1.4.2_17\jre\lib\rt.jar]
[Loaded java.lang.CharSequence from C:\j2sdk1.4.2_17\jre\lib\rt.jar]
[Loaded java.lang.String from C:\j2sdk1.4.2_17\jre\lib\rt.jar]
[Loaded java.lang.Class from C:\j2sdk1.4.2_17\jre\lib\rt.jar]
[Loaded java.lang.Cloneable from C:\j2sdk1.4.2_17\jre\lib\rt.jar]
[Loaded java.lang.ClassLoader from C:\j2sdk1.4.2_17\jre\lib\rt.jar]
[Loaded java.lang.System from C:\j2sdk1.4.2_17\jre\lib\rt.jar]
[Loaded java.lang.Throwable from C:\j2sdk1.4.2_17\jre\lib\rt.jar]
...

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de cs_rt15
Messages postés
3982
Date d'inscription
mardi 8 mars 2005
Dernière intervention
7 novembre 2014
0
Merci
"/jre/lib /jre/lib/ext plus celle definis dans la variable classpath du systeme, plus celle que tu as ajoutee dans le build path ..."

Vi c'est le bordel quoi ! J'ai pas très envie de faire de la voyance et d'imaginer qui sera chargé et dans quel ordre...

Je suis tombé sur la JConsole qui passe par des classes (Par exemple).

Mais je n'y ai rien trouvé sur les jars...
Commenter la réponse de cs_rt15
Messages postés
3982
Date d'inscription
mardi 8 mars 2005
Dernière intervention
7 novembre 2014
0
Merci
Ah vi c'est du très bon ça !

On peut même voir toutes les instances !

Mais bon ça donne pas encore ce que je veux, a savoir de quel jar proviennent les classes de ces instances.
Commenter la réponse de cs_rt15
Messages postés
4
Date d'inscription
dimanche 24 avril 2011
Dernière intervention
15 juin 2012
0
Merci
je veux consulter le sunrsasign.jar puisque j'ai un projet de chat mé je peux pas executer le serveur ?
Commenter la réponse de cs_khawlagammoudi

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.