mvn dependency:sources
で、すべての依存関係のソースをダウンロードできます。 mvn copy-dependencies
を使用すると、すべての依存関係を指定されたローカルディレクトリにダウンロードできます。依存関係のソースをMavenのディレクトリにコピーする方法
2つを組み合わせて、すべての依存関係のソースをディレクトリにコピーできるようにするにはどうすればよいですか?
mvn dependency:sources
で、すべての依存関係のソースをダウンロードできます。 mvn copy-dependencies
を使用すると、すべての依存関係を指定されたローカルディレクトリにダウンロードできます。依存関係のソースをMavenのディレクトリにコピーする方法
2つを組み合わせて、すべての依存関係のソースをディレクトリにコピーできるようにするにはどうすればよいですか?
私はこれらのソリューションを使用しません。
はちょうどあなたのMavenのビルドにMavenの-dependeny - プラグインが含まれており、ニーズに設定を調整します
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<configuration>
<outputDirectory>/tmp/alternateLocation</outputDirectory>
</configuration>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>none</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>/tmp/alternateLocation</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
</configuration>
</execution>
</executions>
</plugin>
あなたは、あなたのニーズに合わせていくつかの項目を変更することができ、例えば、一例では私は私は直接あなたに解決策を与えると思いますが、tmpフォルダ内のalternateLocationをコピーする依存関係はありません。しかし私は、私の新しい目標はコピー依存性であるとも言います。あなたは、私が今気づくOUTPUTDIRECTORYは二回設定されている場合
mvn dependency:copy-dependencies
:だから、コマンドラインでは、これはのようなものになるでしょう。実行の中では、パッケージ、クリーン、テスト、...のような指定されたビルドフェーズを実行しているときだけ、それが考慮されることを意味します。プラグインノードの最初の子の兄弟として、コマンドラインが明示的に依存性プラグインを呼び出すとき、それがあなたが望むものとみなされることを意味します。
あなたがここにMavenの依存プラグインの詳細については見つけることができます:あなたが同時に依存関係とソースを必要とするので、私は考えることができます最善の方法を
を実際のプラグインを暗黙的に呼び出すことなくmavenを正常に実行することで実現できます。それは、常に先のフォルダにコピーを作成しますが、上書きされることはありません
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<configuration>
<outputDirectory>/tmp/alternateLocation</outputDirectory>
</configuration>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>post-clean</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>/tmp/alternateLocation</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
</configuration>
</execution>
<execution>
<id>sources</id>
<phase>post-clean</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<classifier>sources</classifier>
<outputDirectory>/tmp/alternateLocation</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
</configuration>
</execution>
</executions>
</plugin>
:あなたはポストクリーン相(すなわちMVNポストクリーン)を介してそれを実行した場合には、2次の目標を実行しますファイルが既に存在する場合。私は頻繁に使用される段階を選択しなければならなかった。 ポストクリーンは、ここで最善の候補と思われました。これは私がこの種のビルドを分離したいと考えているだけです。 ポストクリーンもビルドをクリーンアップします。ビルドを行うたびにこのプラグインを使い続けたい場合は、またはをインストールすることをお勧めします。それは常にバックグラウンドで起こり、あなたはそれを心配しません。
私はそれが依存関係のソースをフェッチするのではないかと疑います。 :( –
今それは!:) –