J'ai un projet Java et en interne, cela dépend de Quelqu'un peut-il m'aider à savoir Merci d'avance! P>
ASM JAR code>. Étrangement, je ne sais même pas pourquoi mon projet dépend d'une manière ou d'une autre dépend de cette bibliothèque ( pourrait être amené par Maven comme une dépendance transitive em>)? P>
4 Réponses :
Quelles autres dépendances Votre projet a-t-il? Je soupçonne l'un des pots que vous avez décidé avoir besoin d'avoir besoin (par exemple printemps ou hibernate) lui-même em> nécessite asm.jar? P>
Brian, j'utilise beaucoup de printemps dans mon projet .. Mais pourquoi le printemps a-t-il besoin d'ASM? Juste curieux...
Je ne sais pas, j'avoue. Il peut effectuer une injection de bytecode pour des aspects, mais je voudrais vérifier cela.
Maven-2 nécessite ici pour plus d'informations. P>
EDIT: P>
En raison des nombreux usages possibles de l'analyse de programme, de la génération et du transfert
Techniques de mation, de nombreux outils pour analyser, générer et transformer des programmes
ont été mis en œuvre, pour de nombreuses langues, Java inclus. ASM est l'un des
Ces outils pour la langue Java, conçus pour l'exécution - mais aussi hors ligne - génération et transformation de la classe. La bibliothèque ASM1 a donc été conçue pour
Travailler sur des classes Java compilées. Il a également été conçu pour être aussi rapide et petit
aussi possible. Être aussi rapide que possible est important pour ne pas ralentir
Trop d'applications qui utilisent ASM au moment de l'exécution, pour une classe dynamique
ation ou transformation. Et être aussi petit que possible est important dans l'ordre
à utiliser dans des environnements contraints de la mémoire et pour éviter de bloquer le
Taille des petites applications ou des bibliothèques utilisant ASM.
L'ASM n'est pas le seul outil de génération et de transformation de Java compilé
classes, mais c'est l'une des plus récentes et les plus efficaces. 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çue et modulaire facile à utiliser.
2) Il est bien documenté et dispose d'un plugin Eclipse associé.
3) Il fournit un soutien à la dernière version Java, Java 6.
4) Il est petit, rapide et très robuste.
5) Sa communauté d'utilisateurs importante peut fournir un soutien aux nouveaux utilisateurs.
6) Sa licence open source vous permet de l'utiliser de presque toutes les manières de votre choix. P>
blockQuote>
trouvé de Ce fichier PDF. Je suis sous l'impression que Java EE 6 est également venue un outil intégré, ASM pour la génération de classe et la transformation. Le PDF vous donne des détails plus en détail à propos de l'ASM. P>
J'espère que cela aide. P> asm.jar code> pour compiler et exécuter l'application. P>
@Aforloney, c'est la dépendance du plug-in Maven-PMD .. Je n'utilise pas la PMD..qui nous avons besoin d'ASM alors?
J'ai trouvé un fichier PDF en ligne, je l'ai ajouté à mon message avec un blurb, j'espère que cela aide.
Ahh .. selon @andreas_d ASM peut être utilisé pour instruminer les fichiers de classe. @aforloney, peut-être que c'est pourquoi le plugin PMD de Maven a besoin .. wat dire?
Cela pourrait certainement être le cas, je suis très inconnu avec Maven, donc je ne sais pas avec certitude
Il est possible d'utiliser le Plugin de dépendance A > Pour Maven pour voir quelle bibliothèque a l'ASM comme une dépendance. p>
ASM est un cadre de manipulation byTecode (voir Cette page pour une belle introduction) et est utilisée par beaucoup de choses qui se produisent ... MANIPULATION BYTECODE: CADRESTS Utilisation de la génération de proxy et de la réflexion (printemps , Hibernate, etc.), cadres moqueurs ( EasyMock , JMOCK, etc.), outils d'analyse de code ( PMD , Findbugs , etc.). En réalité, le projet ASM gère une liste de Utilisateurs organisés par catégorie, vérifiez-le. P >
Comme mentionné par Vincent, si vous dépendez de manière transitoire sur ASM, le Dépendance: arborescence code>
but ou Rapport de dépendance (voir les liens PMD et FindBugs ci-dessus pour des exemples) peut aider à analyser la situation et à découvrir d'où sa provenance. Mais cela ne prendra pas en compte les dépendances des plugins Maven que vous utilisez, seules des dépendances de votre projet. P>
C'est ASM: ASM.OW2.org - Peut être utilisé pour installer des fichiers de classe pour la qualité de code de mesure
Andreas, si j'ai raison, disons-nous que ASM nous aide à faire une certaine manipulation dans le bytecode du bytecode déjà chargé dans JVM?