EclipseRCPアプリケーションを開発しています。リビジョン管理システムにはSVNを使用することにしました。日食環境で日食製品をエクスポートすることができます。すべてがうまくいきました。
だが、
一部のプラグインは、manifest.mfでbundle-classpathを使用して通常のJavajarに依存しています。これまで、これらのjarファイルをSVNリポジトリにコミットしていました。jarをsvnにコミットするのは間違っていると「聞いた」ので、maven-tychoを使用して、この目的のためにそれらのjarをmavenリポジトリに配置する必要があります。
そこで、jarをSVNリポジトリからMavenリポジトリに移動しました。次に、新しい開発環境をセットアップしたかったのですが、svnからプロジェクトをチェックアウトしましたが、jarがないため、コンパイルエラーが発生しました。
m2eclipseを使用し、新しく作成したpom.xmlファイルですべての依存関係を定義しました。maven-dependency-pluginのコピー目標とすべてのjarを一覧表示してから、mvn validateを実行して、jarをlibフォルダーに入れます。それはうまくいきましたが、私には少し醜いようです。私のプラグインのpom.xmlは、すべての依存関係を2回定義しているように見えるためです。
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<id>copy-bundle-classpath-libs</id>
<phase>validate</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<outputDirectory>lib</outputDirectory>
<overWriteReleases>true</overWriteReleases>
<overWriteSnapshots>true</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
<stripVersion>true</stripVersion>
<artifactItems>
<artifactItem>
<groupId>MyGroup</groupId>
<artifactId>MyJar</artifactId>
<version>SNAPSHOT</version>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>MyGroup</groupId>
<artifactId>MyJar</artifactId>
<version>SNAPSHOT</version>
<type>pom</type>
<scope>compile</scope>
</dependency>
</dependencies>
これを取り除く方法はありますか?
さらに、MyJar.pomに他の依存関係がある場合は、ローカルライブラリにもそれらが必要です。これらの推移的な依存関係をローカルのlibフォルダーにコピーする方法はありますか?
コピー依存関係の目標を試しましたが、プラグインが依存している他のプラグインのjarを見つけようとします。通常のjarファイルをローカルライブラリにコピーする必要があります。私の他のプラグインは、プラグインプロジェクトとしてすべてのソースコードと並んですでに存在しています。私は彼らの瓶を必要としません。それらを除外できますか?私はこれを試しましたが成功しませんでした:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<configuration>
<excludeGroupIds>MyGroup</excludeGroupIds>
<outputDirectory>lib</outputDirectory>
<overWriteReleases>true</overWriteReleases>
<overWriteSnapshots>true</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
<stripVersion>true</stripVersion>
</configuration>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>validate</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
</execution>
</executions>
</plugin>
ありがとう