2011-01-26 16 views
0

私たちのwebappプロジェクトはしばらくの間行われています(実際には、プロジェクトを開始したプログラマーが新しいものを探すのが忙しいと言わなければなりません)。 Antはクールですが、Mavenはよりクールです。だから我々はそれを使い始めたい。Maven pomを自動生成する

webappはしばらくの間使用されており、少なくとも70〜80個のジャーを持っています。各jarのmaven座標のマッピングは苦痛です。ツールを現在のクラスパスファイルに指定することによって、自動的にmaven pom(依存関係セクションのみ)を生成する方法はありますか?そのようなツールはありますか?

+0

http://stackoverflow.com/questions/4029501/how-to-convert-ant-project-to-maven-projectに関連する – Raghuram

答えて

2

古いプロジェクトはオープンソースモジュールの古いバージョンを識別するのが難しくなります。

私が行ったことは、パブリックNexusリポジトリの検索キーとしてjarファイルのチェックサムを使用することでした。たとえば、次のREST URL試す:

http://oss.sonatype.org/service/local/data_index?sha1=7999a63bfccbc7c247a9aea10d83d4272bd492c6

をlog4jのモジュールのバージョン1.2.16を識別し、次の応答フラグメントを返します:もちろん

<search-results> 
    <artifact> 
     .. 
     <groupId>log4j</groupId> 
     <artifactId>log4j</artifactId> 
     <version>1.2.16</version> 
     .. 
    </artifact> 
</search-results> 

を、このアプローチが開催され、それらのjarファイルを識別開きます。 Mavenの中心にありますが、それは素晴らしい時間を節約します。

希望があれば、幸運を祈る!

+0

マーク - チップをありがとう、私はこれを試してみると、それが行った方法についてのスレッドを更新します。 – sumit

+1

@sumit私は新しいプロジェクトのためのivyファイルを生成するスクリプトを書いた。アイビーはMavenと同じではありませんが、この2つのツールは機能的に似ています。あなたはロジックを再利用できるかもしれません:http://stackoverflow.com/questions/7363580/apache-ivy-dependency-ivy-files/7393826#7393826 –

1

Mavenは推移的痴呆をサポートしています。すべての推移的痴呆症を直接的痴呆症として追加した場合、あなたは完全に妊娠していません。将来のメンテナーはあなたに感謝しません。痴呆症の改善はアリのそれと同じくらい難しいでしょう。手動で更新されます。

また、70個のジャーは十数個の卑劣さを意味するかもしれないので、適切なアーティファクト座標を見つけることは大したことではないことに注意してください。 (あなたはリポジトリを検索することができます、あなたは知っています...)

+0

ありがとうございます。あなたは過渡的な依存関係について正しいですし、私は怠け者ではなく、それをやめなければなりません:)。そこに何かがあるかどうかだけチェックしてください。 – sumit

関連する問題