Question

J'ai un projet Java et interne dont elle dépend asm jar. Bizarrement, je ne sais même pas pourquoi mon projet est en quelque sorte dépendant de cette bibliothèque ( pourrait être amené par Maven comme une dépendance transitive )?

Quelqu'un peut-il me aider à savoir pourquoi quelqu'un a besoin pot asm ?

Merci d'avance!

EDIT: Pouvez-vous mentionner aussi dans quels buts / cas d'utilisation on pourrait avoir besoin de pot asm?

Était-ce utile?

La solution

ASM est un cadre de manipulation de bytecode (voir cette page pour une bonne introduction) et est utilisé par beaucoup de choses en cours ... manipulation de bytecode: les cadres en utilisant la génération de proxy et de réflexion (printemps , Hibernate, etc.), les cadres se moquant ( EasyMock , jMock, etc.), des outils d'analyse de code ( PMD , Findbugs , etc.). En fait, le projet ASM tient à jour une liste des utilisateurs rel="noreferrer"> classées par catégories, check it out.

Comme mentionné par Vincent, si vous dépendez transitif sur ASM, dépendance rapport (voir les liens ci-dessus PMD et Findbugs des exemples) peut aider à analyser la situation et de savoir d'où son vient. Mais cela ne prendra pas en compte les dépendances des plugins Maven que vous utilisez, seules les dépendances de votre projet.

Autres conseils

Maven-2 nécessite asm.jar pour compiler et exécuter l'application.

ici pour plus d'informations.

EDIT:

  

En raison des nombreux usages possibles de l'analyse des programmes, la production et transfor-   techniques, de nombreux outils mation pour analyser, générer et transformer les programmes   ont été mis en œuvre, pour de nombreuses langues, Java inclus. ASM est l'un des   ces outils pour le langage Java, conçu pour l'exécution - mais aussi hors ligne - génération de classe et de transformation. La bibliothèque ASM1 a donc été conçu pour   travailler sur les classes Java compilées. Il a également été conçu pour être aussi rapide et aussi petit   que possible. Être aussi vite que possible est important afin de ne pas ralentir   trop les applications qui utilisent ASM lors de l'exécution, pour gener- de classe dynamique   ation ou de transformation. Et être aussi faible que possible est important pour   à utiliser dans des environnements à mémoire, et d'éviter les ballonnements du   taille de petites applications ou bibliothèques utilisant ASM.   ASM n'est pas le seul outil pour générer et transformer compilé Java   classes, mais il est l'un des plus récents et efficace. Il peut être téléchargé   de http://asm.objectweb.org . Ses principaux avantages sont les suivants:   1) Il a une API simple, bien conçu et modulaire qui est facile à utiliser.   2) Il est bien documenté et a un plugin Eclipse associé.   3) Il prend en charge la dernière version de Java, Java 6.   4) Il est petit, rapide et très robuste.   5) Sa grande communauté d'utilisateurs peut fournir un soutien pour les nouveaux utilisateurs.   6) Sa licence open source vous permet de l'utiliser dans presque comme vous le souhaitez.

ce fichier pdf. Je suis sous l'impression que, avec Java EE 6 aussi est venu un outil intégré, ASM pour la production de classe et de transformation. Le PDF vous donne les détails plus détaillées sur l'ASM.

Hope this helps.

Quelles autres dépendances votre projet at-il? Je soupçonne que l'un des pots que vous avez décidé vous avez besoin (par exemple Spring ou Hibernate) lui-même nécessite asm.jar?

Il est possible d'utiliser le dépendance plug-in pour Maven voir quelle bibliothèque a asm comme une dépendance.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top