pot ASM - Pourquoi mon projet java a une dépendance à ce sujet?
-
22-09-2019 - |
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?
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.
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.