1
私は、mavenで構築されたWebアプリケーションの継続的な統合にcircleCIを使用しています。私は、CircleCIでテストとビルドを実行するときに、外部ライブラリを使用するようにしたいと考えています。
ライブラリは大型の親のmavenプロジェクトに兄弟プロジェクトの成果物を持っているだけなので、私はすでにpom.xmlの依存関係として追加しているので、私のローカル環境に問題なくこのプロジェクトを構築できます。
下記のcircle.ymlとbashファイルを使用して、構築したjarファイルを手動でM2_HOMEに追加しようとしました。CircleCIにmaven用の外部ライブラリを含める方法
circle.yml:
#...
dependencies:
pre:
- sudo chmod a+x add_dependencies.sh
- ./add_dependencies.sh
#...
add_dependencies.sh:
sudo wget http://my.jar.file.url -O exteral_lib.jar --quiet
sudo mkdir -p ${HOME}/.m2/repository/com/group/artifact/1.0.0/
sudo cp -rl ./exteral_lib.jar ${HOME}/.m2/repository/com/group/artifact/1.0.0/exteral_lib.jar
sudo rm -f ./exteral_lib.jar
しかし、それは動作しませんでした。
Failed to create parent directories for tracking file,
Non-resolvable import POM: Could not transfer artifact
CircleCIが依存関係を解決しようとしたときに発生しました。
どうすればこの問題を解決できますか?
こんにちは、おかげで多くのことを。あなたのソリューションを試してみましたが、ライブラリがインストールされているようですが、ユニットテストを実行するときに 'java.lang.NoClassDefFoundError:com/google/gson/JsonIOException'エラーが発生しました。 Gsonはライブラリで使用されており、コンパイルスコープとの依存関係としてpom.xmlファイルに既に含まれているため、このエラーが発生した理由はわかりません。私もmaven-assembly-pluginを試しましたが、運がうまくいきませんでした。[here](http://stackoverflow.com/a/32170738/6279569)ライブラリが正しくインストールされていない、またはライブラリが正しくインストールされていませんでしたか? – choasia
ああ、ちょっと別の問題だし、今解決してしまった。ご回答有難うございます! – choasia