MavenとSpringは初めてです。
プロジェクトはローカルテスト環境で実行されますが、デプロイされたシステムでは実行されません。デプロイされたシステム:OpenSDK 10.0.1を使用して新しくインストールされたUbuntu、Maven 3.5.2を取得しました。別のファイアウォールの背後にいて、別のkeyStoreとtrustStoreを使用しています。
Mavenが吐き出す:
Org .
[%mything%]
。app:useraut:0.0.1-SNAPSHOTの解決できない親POM:アーティファクトorg.springframework.boot:spring-boot-starter-parent:pom:1.5.9.RELEASEを転送できませんでした/中央( https://repo.maven.Apache.org/maven2 ):Java.lang.RuntimeException:Unexpected error:Java.security.InvalidAlgorithmParameterException:trustAnchors parameter is non-empty and 'parent.relativePath'は、ローカルPOM @行14、列10-> [ヘルプ2]をポイントしていません
pom snipet:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
(プロキシが定義されていません)
私は解決策のアイデアを見つけることができるようです: エラー-trustAnchorsパラメーターは空ではない必要があります しかし、Spring、Maven、またはtrustStoreの構成をどこから始めればよいかわかりません
私が発見したことによると、OpenJDKのUbuntu Linuxの配布パッケージには弱点がありますJava 9以上。したがって、default-jdkをインストールすると問題が発生する可能性があります。
引用元:( https://bugs.launchpad.net/ubuntu/+source/openjdk-lts/+bug/1768799 )+追加の証明書の更新。
Default-jdkの再インストールはオプションであり、openjdk-8を継続して使用できることに注意してください。
回避策:default-jdkを削除し、openjdk-8をインストールし、openjdk-8を削除して、default-jdkを再インストールします。
Sudo aptパージopenjdk-default Java-common
Sudo aptパージdefault-jdk Java-common
Sudo dpkg --purge --force-depends ca-certificates-Java
Sudo apt install openjdk-8-jre
Sudo apt-get install ca-certificates-Java
Sudo aptパージopenjdk-8-jre
Sudo apt install default-jdk
この後、私が使用していたSpringのバージョンがJava 10.0.1でうまく動作しないため、Java 8.x forその目的。
基本的には、ca-certificates-Javaについてです。 Linuxディストリビューションリポジトリ以外でJDKを入手すると、さらにイライラします。
ここで私は手がかりを手に入れました: http://rabexc.org/posts/certificates-not-working-Java
コメントでbashスクリプトを変更しました
CACERTS="/home/user/cacerts"
cd /etc/ssl/certs
for file in *.pem; do
echo "Importing $file..."
openssl x509 -outform der -in "$file" -out /tmp/certificate.der
keytool -import -alias "$file" -keystore $CACERTS \
-file /tmp/certificate.der -deststorepass changeit -noprompt
done
最初の行を自分に合わせて変更します。私はそれをdebianで実行します。他のシステムでは、2行目も変更する必要があるかもしれません。
次に、「cacerts」ファイルを$ Java_HOME/jre/lib/security/cacertsにあるJDKにコピーします。