2009-06-17 12 views
11

私は2つのmavenモジュールを持っています.1つはjarとして終了し、もう1つはそのjarに依存するwarです。Maven - アーティファクトソースに依存関係を追加する

私は、jarモジュールに、コンパイルされたクラスとともにソースコードをパッケージ化して、2番目のモジュールがそれにアクセスできるようにします。私はmaven-source-pluginを使ってみましたが、その出力に依存関係を追加する方法については混乱しています。デフォルトでは依存関係はコンパイルされたjarになり、maven-source-pluginが作成するソースコードjar( "-source.jar"で終わる)ではなくなります。

「-source.jar」を依存関係として追加するにはどうすればよいですか?コンパイルされたソースへの依存関係は維持されますか?

答えて

20

私はこれを試していませんが、プロジェクトに2つのプロファイルを作成する必要があると思います。メインジャーを作るものソースjarを構築するもう1つ。残念ながら、私はあなたがそのプロファイルをどのように構築するのかは正確には分かりません。私はそれまでの良い例を見つけることができませんでした。理論的には

(コメントにAccoding、あなたが実際にプロファイルを必要としません。あなただけのソースを展開し、ソース分類器を経由してそれらを利用できるようになりますソース・プラグインを使用することができます)

、あなたは」 d第2のプロファイルを使用して、プロジェクトにソースを添付します。これにより、そのクラシファイアを使用するソース用の2番目のエントリがリポジトリに作成されます。ソースをリポジトリにインストール/デプロイしたら、ソースを直接指定するために、依存関係のclassifierタグを使用してソースを依存関係として含めることができます。

つまり、あなたのWebアプリケーションのPOMにこのような何かを持っていると思います:

<dependencies> 
    <dependency> 
    <groupId>myGroup</groupId> 
    <artifactId>myJar</artifactId> 
    <version>4.0</version> 
    <type>jar</type> 
    </dependency> 
    <dependency> 
    <groupId>myGroup</groupId> 
    <artifactId>myJar</artifactId> 
    <version>4.0</version> 
    <type>jar</type> 
    <classifier>sources</classifier> 
    </dependency> 
</dependencies> 
+2

は私もプロファイルを必要としなかった、のmaven-ソース・プラグインが自動的に「ソース」分類器が利用可能となります。ちょうどのソースを依存関係に追加しました。 –

+3

申し訳ありません - 私はを意味し、を意味しませんでした! –

+1

mGWTプロジェクトにも同じ設定がありました。私たちは、サーバー上のサービス(CXFを使用するRESTサービス)とmGWTクライアントで使用される "共有" MavenモジュールにAutoBeanインターフェイスを配置します。問題は、maven gwt:compileの目的はソースとコンパイルされたバージョンが必要であることです。上記の設定は私たちにとってもうまくいきました。 – peron

1

ビルドセクションでリソースディレクトリとしてsrcディレクトリを追加しようとしましたか?ビルド時にソースをjarファイルにコピーする必要があります。

関連する問題