問題:私のソフトウェアは、すべての開発者(およびユーザー)が別の場所にインストールしたライブラリを使用します。システムパスをpom.xml外の依存関係に指定します。
pom.xml
に次の作品:
<project ...>
...
<dependencies>
<dependency>
<groupId>myGroup</groupId>
<artifactId>myName</artifactId>
<version>1.2.3</version>
<scope>system</scope>
<systemPath>C:\...\....jar</systemPath>
</dependency>
</dependencies>
</project>
しかし、私はソースコントロールにこれを確認したときに、それを変更する必要があるすべての開発者が、pom.xml
を変更することがあり、これその後コミットまたはでおき、それを無視すること他の依存関係を追加するなど、pom.xml
内の何かを変更する必要がある場合は、部分的にコミットします。プロパティを使用して
が助けにはならない、それだけで
pom.xml
内部の別の場所に問題が移動します。の後に、プラグインがと呼ばれているため、プロパティを使用して外部ファイル(properties-maven-plugin)から読み取ると動作しないようです。日食:Dynamically adding a Maven dependency from a property
をどちらか動作しないようです
${env.MY_VARIABLE}
環境変数の使用:[ERROR] 'dependencies.dependency.systemPath' for myGroup:myName:jar must specify an absolute path but is ${env.MY_VARIABLE} @line 123, column 45
それを解決する方法上の任意のアイデアを?
あなたは間違った方向に行っています。 ' system 'はあなたが使用していないはずのもので、いつか削除されます。適切なアプローチについては、http://stackoverflow.com/questions/364114/can-i-add-jars-to-maven-2-build-classpath-without-installing-themを参照してください。 –
Tunaki
私の瓶ではないので、私は自分のアプリケーションでそれを配布することはできません。 jarファイルは大量に保護されているので、ローカルのリポジトリに追加したり、処理したり、移動したりすることはできません。キーボードの前に人がインストールした場所に座っていなければなりません。 私は 'システム'がなければそれを解決する方法はありません。それとも、リンクされたページに私が手に入れなかったものがありますか? – Bowi
* jarファイルは大量に保護されているため、ローカルリポジトリに追加することはできません。あなたのローカルレポにはおそらくあなたのものではなく、他のMavenレポからダウンロードされた何千ものJARがあります。この特定のものはリモートリポジトリでは利用できませんが、インストールできないわけではありません。 – Tunaki