2018年6月18日以降、Maven Central / https://repo1.maven.orgに接続すると、以下のエラーが発生します。
Received fatal alert: protocol_version
または
Received fatal alert: peer not authenticated
2018年6月18日以降、Maven Central / https://repo1.maven.orgに接続すると、以下のエラーが発生します。
Received fatal alert: protocol_version
または
Received fatal alert: peer not authenticated
回答:
解決策1: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
解決策2:Oracle Advanced SupportでJava 7を使用する
また、Java 7バージョンを更新することで問題を解決できます。しかし、最後に利用可能なバージョン(7u80
)では問題は解決しません。Oracle Advanced Support(旧称Java for Business)で提供されるアップデートを使用する必要があります。
解決策3:代わりにJava 8を使用する
$JAVA_HOME
Java 8を指すように構成します。
sbt -Dhttps.protocols=TLSv1.2 instal
たSBTの同等のものを教えていただけますか?それは機能しません
-Dhttps.protocols=TLSv1.2
です。したがって、SBTでJavaパラメータを渡す方法を見つける必要があります。
2018年6月、セキュリティを高め、最新の標準に準拠するための取り組みとして、CentralへのSSL接続では、安全でないTLS 1.0および1.1プロトコルがサポートされなくなります。これは、httpsを使用して中央にアクセスするJava 6(およびJava 7)のユーザーにのみ影響を与えるはずです。メトリックによると、ユーザーの.2%未満です。
詳細と回避策については、こちらのブログとよくある質問をご覧ください:https : //blog.sonatype.com/enhancing-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ではmaven install
、TLSコマンドラインパラメーターを使用して「別のユーザーとして実行」を実行できるようにするために、使用しているJDKを構成するだけです。
[ ウィンドウ] > [ 設定] > [ Java ] > [ インストールされたJRE ]からダイアログを開きます。
次に、使用しているもの(JREではなくJDKである必要があります)を強調表示し、[ 編集 ]をクリックします。「デフォルトVM引数」フィールドに値を入力します。以下に示すように:-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2
プロジェクトをクリーンアップし(場合によってはオプション)、を再実行しmaven install
ます。
IBM JDKを使用している場合は、
com.ibm.jsse2.overrideDefaultTLS=true
jdk7-u221を使用して、Java Cryptography Extension(JCE)をインストールする必要がありました