Maven Centralに接続すると、以下のエラーが表示されます/ https://repo1.maven.org 2018年6月18日以降。
Received fatal alert: protocol_version
または
Received fatal alert: peer not authenticated
それはJava 7のために解決することができますそれはコマンドラインのJavaプロパティでTLS 1.2プロトコルを有効にする必要があります
mvn -Dhttps.protocols=TLSv1.2 install
install
は目標のほんの一例です
ant
の同じエラーはこの方法で解決することができます
Java -Dhttps.protocols=TLSv1.2 -cp %ANT_HOME%/lib/ant-launcher.jar org.Apache.tools.ant.launch.Launcher
Java 7のバージョンを更新する
また、問題はJava 7バージョンを更新することで解決できます。しかし、最後の利用可能なバージョン(7u80
)は問題を解決しません。 Oracle Advanced Support(以前のJava for Business)で提供されているアップデートを使用する必要があります。
2018年6月、セキュリティを強化し、現代の標準に準拠するために、安全でないTLS 1.0および1.1プロトコルは、CentralへのSSL接続ではサポートされなくなります。これは、httpsを使用してCentralにアクセスしているJava 6(およびJava 7)のユーザーにのみ影響するはずです。これは、メトリックではユーザーの0.2%未満です。
詳細と回避策については、こちらのブログとFAQを参照してください。 https://blog.sonatype.com/enhance-ssl-security-and-http/2-support-for-central
次のコマンドは役に立ちました(mvnを実行する前にbashで実行しています)
export MAVEN_OPTS=-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2
@ v.ladynevと同じように、JDK 1.7で動作します。
Eclipseでは、TLSコマンドラインパラメータで "Run As" maven install
を実行できるようにするには、使用しているJDKを設定するだけです。
ウィンドウ>設定>Java> _からダイアログを開きます。インストール済みのJRE。
次に、使用しているものをハイライトし( _ jdk _ ではなく _ jre _ にします)、編集。 "Default VM arguments"フィールドに、値-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2
を入力します。以下に示すように:
プロジェクトをクリーンにして(おそらくオプション)、maven install
を再実行してください。
すみません、なぜエラーメッセージが出るのかわかりません。しかし、私はJava 7とWindows 10を使っていて、私のための解決策はJava_HOME
環境変数を変更することによって一時的にJava 8を使うことでした。それからmvn install
を実行してMaven Central Repositoryから取得することができます。
IBM JDKを使用している場合は、設定も必要になることがあります。
com.ibm.jsse2.overrideDefaultTLS=true