ASM jar - 私の Java プロジェクトがこれに依存しているのはなぜですか?
-
22-09-2019 - |
質問
Java プロジェクトがあり、内部的には次のものに依存しています。 asm jar
. 。奇妙なことに、私のプロジェクトがなぜこのライブラリに依存しているのかさえわかりません (Maven によって推移的な依存関係として取り込まれる可能性があります)?
誰か教えてくれませんか なぜ誰かがASM jarを必要とするのか?
前もって感謝します !
編集:どのような目的やユースケースで asm jar が必要になるかについても言及していただけますか?
解決
ASM バイトコード操作フレームワークです (「 このページ 素晴らしい紹介として)、さまざまなパフォーマンスで使用されています...バイトコード操作:プロキシの生成とリフレクションを使用するフレームワーク (Spring、Hibernate など)、モック フレームワーク (イージーモック, 、JMock など)、コード分析ツール (PMD, バグを見つける, 、など)。実際、ASM プロジェクトは次のリストを管理しています。 ユーザー カテゴリ別にまとめていますので、ぜひチェックしてみてください。
Vincent が述べたように、ASM に推移的に依存している場合、 dependency:tree
目標とか 依存関係レポート (例については、上記の PMD および Findbugs のリンクを参照してください) は、状況を分析し、その原因を突き止めるのに役立ちます。ただし、これでは使用している Maven プラグインの依存関係は考慮されず、プロジェクトの依存関係のみが考慮されます。
他のヒント
Mavenの-2には、アプリケーションをコンパイルして実行するasm.jar
を必要とします。
ここの詳細については。
EDITます:
プログラム解析、生成とtransfor-の多くの可能な用途のためにこののPDFファイルから見つかりmation技術、分析、生成したプログラムを変換するための多くのツール 多くの言語のために、実装されている、Javaが含まれています。 ASMはの一つであります だけでなく、オフライン - - クラスの生成と変換Javaランタイム用に設計された言語のためのこれらのツール。 ASM1ライブラリーは、そのために設計されました コンパイルされたJavaクラスに取り組みます。それはまた、高速として、小型のように設計されました できるだけ。可能な限り高速であることはスローダウンさせないために重要です ダイナミッククラスの実行時にあまりにも多くのアプリケーションでその使用ASM、gener- エーションまたは変換。そして、可能な限り小さくあることはために重要です メモリ制約のある環境で使用される、と膨満感を避けるために ASMを使用して小さなアプリケーションやライブラリのサイズ。 ASMは、コンパイルされたJavaを生成し、変換するための唯一のツールではありません クラスが、それは、最新かつ効率的なの一つです。これは、ダウンロードすることができます http://asm.objectweb.orgするから。その主な利点は以下のとおりであります: 1)これは、使いやすいシンプルな、うまく設計され、モジュール式のAPIを持っています。 2)それは、十分に文書化と関連したEclipseプラグインを有しています。 3)これは、最新のJavaバージョン、Java 6のサポートを提供します。 4)それは、小型、高速、かつ非常に堅牢です。 5)その大規模なユーザーコミュニティは、新規ユーザーのためのサポートを提供することができます。 6)そのオープンソースライセンスは、あなたが望むほぼすべての方法でそれを使用することができます。
。私は、Java EEと一緒に6は、クラスの生成と変換のためのビルトインツール、ASMが来たという印象の下にいます。 PDFは、ASMについてより深くあなたの詳細を与えます。
希望このことができます。
あなたのプロジェクトは、他にどのような依存関係がありますか?私はあなたが(例えば、春または休止状態)が必要です決めた瓶の容疑者1 の自体はasm.jar?
が必要です依存プラグイン Mavenの依存関係としてASMを持っているライブラリを参照するために。