Frage

Ich habe ein Java-Projekt und intern ist es abhängig von asm jar. Merkwürdigerweise habe ich nicht einmal wissen, warum irgendwie mein Projekt auf dieser Bibliothek abhängig ist ( könnte in von Maven als transitive Abhängigkeit gebracht werden)?

Kann mir jemand helfen wissen warum manche ein asm Glas braucht

Vielen Dank im Voraus!

EDIT: erwähnen können Sie auch für welche Zwecke / Anwendungsfälle eine Macht Notwendigkeit asm jar?

War es hilfreich?

Lösung

ASM ist ein Bytecode Manipulation Rahmen (siehe diese Seite für eine schöne Einführung) und wird durch viele Dinge, die Durchführung ... Bytecode-Manipulation verwendet: Frameworks Proxy-Generierung und Reflexion (Frühjahr , Hibernate, etc.), Frameworks ( EasyMock , JMock, usw.), Code-Analyse-Tools spöttischen ( PMD , Findbugs , etc). Tatsächlich hält das ASM-Projekt eine Liste der Benutzer nach Kategorie, check it out.

Wie durch Vincent erwähnt, wenn Sie transitiv auf ASM abhängig, die Abhängigkeit berichten (siehe PMD und Findbugs Links oben für die Beispiele) kann helfen, die Situation zu analysieren und herauszufinden, von wo seine herkommt. Aber das wird nicht berücksichtigt Abhängigkeiten Maven Plug-in, die Sie verwenden, nur Ihre Projektabhängigkeiten.

Andere Tipps

Maven-2 erfordert asm.jar zu kompilieren und die Anwendung auszuführen.

Hier für weitere Informationen.

EDIT:

  

Aufgrund der vielen möglichen Verwendungen von Programmanalyse, Generierung und Umwand-   mation Techniken, Programme viele Werkzeuge zur Analyse, Erzeugung und Transformation   umgesetzt wurden, für viele Sprachen, Java enthalten. ASM ist eine der   diese Werkzeuge für die Programmiersprache Java zur Laufzeit konzipiert - aber auch offline - Klasse Generation und Transformation. Die ASM1 Bibliothek wurde daher entwickelt, um   arbeiten auf kompilierten Java-Klassen. Es war auch sein, so schnell und so klein gestaltet   wie möglich. so schnell wie möglich zu sein, ist wichtig, um nicht zu bremsen   zu viel die Anwendungen, die Verwendung ASM zur Laufzeit, für die dynamische Klasse Gene-   ation oder Transformation. Und so klein wie möglich zu sein, ist wichtig, um   In dem im Speicher beschränkt Umgebungen verwendet werden, und Blähungen des vermeiden   Größe von kleinen Anwendungen oder Bibliotheken mit ASM.   ASM ist nicht das einzige Werkzeug zur Erzeugung und Umwandlung von kompilierten Java   Klassen, aber es ist eines der neuesten und leistungsfähig. Es kann heruntergeladen werden   von http://asm.objectweb.org . Die Hauptvorteile sind die folgenden:   1) Es hat eine einfache, gut gestaltet und modular API, die einfach zu bedienen ist.   2) Es ist gut dokumentiert und hat eine zugehörige Eclipse-Plugin.   3) Es bietet Unterstützung für die neueste Java-Version Java 6.   4) Es ist klein, schnell und sehr robust.   5) Die großen User-Community kann die Unterstützung für neue Nutzer.   6) Die Open-Source-Lizenz erlaubt es Ihnen, es zu benutzen in fast jeder, wie Sie wollen.

Gefunden von dieser pdf-Datei. Ich habe den Eindruck, dass zusammen mit Java EE 6 auch ein integriertes Tool, ASM für Klasse Generation und Transformation kam. Das PDF gibt Ihnen ausführlich in größerer Tiefe über ASM.

Hope, das hilft.

Was andere Abhängigkeiten haben Ihr Projekt? Ich vermute, dass eines der Gläser Sie sich entschieden haben, die Sie benötigen (z Frühling oder Ruhezustand) selbst erfordert asm.jar?

Es ist möglich, die Abhängigkeit Plugin für Maven, um zu sehen, welche Bibliothek asm als Abhängigkeit hat.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top