libディレクトリからMavenの依存関係を作成するツールを知っている人はいますか? 非常に多くの JAR を含む Web プロジェクトがいくつかあり、それらを "Mavenize" したいと考えています。それぞれの適切な依存関係を探すのは非常に面倒で、プログラムで解決できるもののように思えます。
3 に答える
これらの jar は (おそらく) そもそも Maven から来たものではないため、GAV 座標を伝えるマニフェストは含まれません。そのため、ディレクトリだけから何が必要かをツールが推測する方法を理解するのは困難です。驚くほど幸運で、すべての jar のファイル名に正確なアーティフェイス ID とバージョンが含まれている場合を除きます。この場合、何かをスクリプト化できる可能性があります。
とにかく、あなたはおそらくそれを望んでいません。これらの jar の多くは推移的な依存関係であり、POM をポイ捨てする必要はありません。
tl;dr弾丸をかみ、手でマベナイズします。途中で役立つように、パブリックリポジトリまたは何かに対してwgetマジックを少し使用するスクリプトをいつでも作成できます。
Ant2Ivy https://github.com/myspotontheweb/ant2ivyは、これを実行できる Groovy スクリプトです。
その名前にもかかわらず、pom ファイルも作成できます ( https://github.com/myspotontheweb/ant2ivy/commit/9e3e8358f2b31507b13f5def69627da422e1656b )。
pom を作成するために、Maven Central で名前/ハッシュを検索します。
すべての依存関係を (プロジェクトの依存関係リストに) 追加するプラグインを作成できます<scope>system</scope>
。これを行う方法は、build-helper-maven-plugin を参照して確認できます。
私はこれを行うことに強く反対します。Maven を使用して Ant モンキー ビジネスを行う場合は、Ant を使用してください。時間と労力を節約できます。
一方、「ビルドを Maven 化」したい場合は、怠惰ではなく、適切に Maven 化する必要があります。ソリューションは、作成した分だけくだらないものです。怠けていると、どうせめちゃくちゃになってしまうので、努力しても無駄です。
次のいずれかを使用して、各依存関係を追加することをお勧めします。
そして、正しく仕事をしてください。さらに、アーティファクト リポジトリ マネージャーもインストールします。:) 幸運を。