の取り扱い:Mavenの - 私は順番に他の依存関係を引く必要があります私のWebアプリケーションPOM、中に次のMavenの依存関係を持っているスナップショット依存関係に
<dependency>
<groupId>com.my.libraries</groupId>
<artifactId>my-libs</artifactId>
<type>pom</type>
<version>1.6-SNAPSHOT</version>
</dependency>
NOTE私は以前の古いの間に引かmy-libs
アーティファクトのために1.5をリリースしていましたビルド。しかし、後でバージョンを1.6-SNAPSHOT
にアップグレードしました。 mathlibrary
1.5
リリースにアーティファクトが存在しませんでした。
私はいくつかのjarが1.5
に存在していなかった1.6-SNAPSHOT
verson my-libs
アーティファクトの一部として存在することを期待しています - POMは以下の通りです:
<!-- all the usual POM descriptionsm for my-libs -->
<groupId>com.my.libraries</groupId>
<artifactId>my-libs</artifactId>
<version>1.6-SNAPSHOT</version>
<packaging>pom</packaging>
<!-- continues... all normal stuff, nothing to see here :'/ -->
<dependency>
<groupId>com.my</groupId>
<artifactId>mathlibrary</artifactId>
<version>1.0</version>
</dependency>
<!-- continues -->
私は私がしなければmathlibrary
jarファイルが引っ張られることが期待さ私のプロジェクトではmvn package
です。しかし、私のWebアプリケーションのlib
フォルダを見て、そこにjarファイルはありませんでした。 .m2
ディレクトリの内容を確認したところ、バージョン1.5
のみが存在するように見えるので、1.6スナップショットは自動的にインストールされませんでした。ここから、私はリリース版が前に引っ張られれば、次のスナップショットを引っ張らないと思っていますか?
my-libs
アーチファクトをmvn clean install
で手動でインストールした後、Webアプリケーションの次のビルドでは、jarsを正しく引き出しました。これは、私のpackage
フェーズがSNAPSHOT依存関係を自動的に引き出さないように定義されていることを意味しますか?またはこれは予期したものです(リリースバージョンでない場合は手動でinstall
を実行する必要があります)。
私はクリーンコンパイルパッケージを行う場合は、レポからダウンロードする必要がありますか? – ha9u63ar
Mavenは 'mvn package'を使っても依存関係をダウンロードしますが、ビルドの結果をローカルリポジトリに入れません。 –