2016-04-27 5 views
2

私が使用するプログラミング言語に関係なく、使用されていないjarファイルをmavenプロジェクトから自動的に除外するプログラムを作成したいのですが、どうすればよいですか?未使用のjarファイルをMavenプロジェクトから自動的に除外する方法は?

現在、私は愚かな考えがあります。宣言されたjarファイルを除いて、依存関係ツリーのノードを一番下に置くたびに、プロジェクトをコンパイルして実行して、このjarファイルを除外できるかどうかを確認します。

私は、他のより良いアイデアを見つけることができないと私は助けを必要としています。あなたの心に何が入ってきても、私を共有してください。これまでに他の人がこれをやっていることが分かっていれば、ソースコードへのリンクを投稿するか、私の考えを共有してください。ありがとう!!!!ところで

、私は自動的に依存関係の競合の問題を解決するプログラムを書きたい場合は?これは可能ですか?私は、このような問題がJava開発者を悩ませていることを知っています。

+0

https://maven.apache.org/plugins/maven-dependency-plugin/analyze-mojo .html – Dmitry

+1

[maven pom.xmlから未使用の依存関係を削除する簡単な方法はありますか?](http://stackoverflow.com/questions/1517611/is-there-a-simple-way-to-remove -unused-dependencies-from-a-maven-pom-xml) – Dmitry

+0

正確ではありません。私は助けてくれる依存性プラグインが存在することを知っていますが、依存関係を除外する必要があるかどうかを手動で決定する必要があります。しかし、私はこれを自動的に行うプログラムを私のために書いたがっています。 –

答えて

1

すべての削除の依存関係のためにコンパイルのアイデアは良いですが、(いくつかの依存関係が実行時にのみ必要とされている)も、プログラムを起動することを忘れないでください。

私は数回ということをしなければならなかったが、私は(プログラムではない自動的に)手動でやった、私はすべての依存関係を削除し、コードがコンパイルされるまで、それらを一つずつ追加され、プログラムの実行までOK。

+0

依存関係を1つずつ追加することもお勧めですが、これは使用されない依存関係を追加する可能性があります。 –

0

このようなアプローチの問題点は、すべてが正しくコンパイル可能性があるにもかかわらず、あなたは実行時にリソースが不足しているという事実です。あなたはクラスローダの助けを借りたり、クラスやメソッドにアクセスするためにリフレクションを使用している場合は、クラスやものをロードする場合は、ケースかもしれません

。 Javaのほかにもっと動的な言語を見れば、これはさらに悪化します。コンパイラはあまり役に立たないでしょう

+0

私はプロジェクトをコンパイルして実行し、それが動作するかどうかを確認することにしました。 –

+0

これは、何が失敗するかを確かめることができないため、**可能なすべてのユースケースを再度テストすることを意味します。 –

+0

私は同意します。もっと良い解決策があるかどうかを私はここで尋ねています。 –

関連する問題