2017-05-26 12 views
0

AntからMavenにレガシープロジェクトを移行しようとしています。私が直面している主な問題は、以前Antで使用していたlibフォルダに複数のjarファイルがあることです。今は200プラスの瓶があると私は確かにいくつかの重複があるかもしれないと確信しています。 jarのリストからpom.xmlファイルを生成する方法はありますか?私が今見ているオプションは、Mavenリポジトリで1つずつ検索し、1つずつ追加することです。これを行う簡単な方法はありますか?Ant lib/jarフォルダからMaven依存関係を作成する

おかげで、 て、Amol

+0

このジャーのような約200個のジャーの音が1つのモジュールに入っていると、あまりにも多く含まれています。はい、手動でこれを行うと、本当に必要な場合にそれらのジャーのそれぞれをチェックしました。マイグレーション(未使用のものを取り除く)... – khmarbaise

+0

うまくそれらを介して動作します。また、モジュールを壊しても、pomに約100個以上のjarファイルを追加しなければならず、手動でmavenからグループIDなどを取得する必要があります。それは私が探していたものです。私に詳細を返すものがあれば。 APIのように私はそれを使うことができます – Amol

+0

@JFマイヤーが書いた答えを見てみましょう。 – khmarbaise

答えて

0

私は同様の問題を通じて働いた(Antのためのjarファイルは、SVN/gitのの一部が、ネットワークドライブ上にありませんでした)。

  • は、彼らのSHA1値を取り、MavenCentral上でそれらを検索

    1. 依存関係(またはその依存関係でもよい)であるすべてのjarファイルを列挙:私は、おおよそ次のようでしたスクリプトを書きました。 jarファイルがそこから直接コピーされていれば、それらを見つけることができます。しかし、同じバージョン番号を持つ同じjarの異なるバージョンが存在する可能性があります。
    2. jarからクラスを取り出し、MavenCentral(クラス名検索)でそれらを検索します。これにより、groupId:artifactIdの適切な数を決定することができます。バージョンが同じクラスを共有しているため、バージョンは扱いにくいです。
    3. ファイル名とその末尾(junit-4.12.jarなど)を使用して、MavenCentralの成果物を推測します。

    このようにして、JARとMavenCentralの間のおおよそのマッピングが得られます。これは明らかに手動で修正する必要があります。また、MavenCentralのものではなく、Mavenのレポに追加する必要があるジャーナルを見つけることもあります。

    完全なリストがある場合は、そのリストからpom.xmlを作成します。あなたのプロジェクトを構築してみてください。不足している依存関係をビルドしない場合は追加します。

    最後に、dependency:analyzehttps://maven.apache.org/plugins/maven-dependency-plugin/analyze-mojo.htmlを使用して、pomの不要な依存関係を解消してください。

  • 関連する問題