ฉันได้รับข้อผิดพลาดด้านล่างเมื่อเชื่อมต่อกับ Maven Central / https://repo1.maven.orgหลังวันที่ 18 มิถุนายน 2018
Received fatal alert: protocol_version
หรือ
Received fatal alert: peer not authenticated
ฉันได้รับข้อผิดพลาดด้านล่างเมื่อเชื่อมต่อกับ Maven Central / https://repo1.maven.orgหลังวันที่ 18 มิถุนายน 2018
Received fatal alert: protocol_version
หรือ
Received fatal alert: peer not authenticated
คำตอบ:
โซลูชันที่ 1: กำหนดค่า Java 7
จำเป็นต้องเปิดใช้งานโปรโตคอล TLS 1.2 พร้อมคุณสมบัติ Java ในบรรทัดคำสั่ง
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: ใช้ Java 7 กับ Oracle Advanced Support
นอกจากนี้ยังสามารถแก้ไขปัญหาได้ด้วยการอัปเดตเวอร์ชัน Java 7 แต่เวอร์ชันล่าสุดที่มี ( 7u80
) ไม่สามารถแก้ไขปัญหาได้ จำเป็นต้องใช้การอัปเดตที่มาพร้อมกับ Oracle Advanced Support (เดิมเรียกว่า Java for Business)
โซลูชันที่ 3: ใช้ Java 8 แทน
กำหนดค่า$JAVA_HOME
ให้ชี้ไปที่ Java 8
sbt -Dhttps.protocols=TLSv1.2 instal
แต่มันไม่ได้ผล
-Dhttps.protocols=TLSv1.2
คุณต้องมีวิธีที่จะผ่านพารามิเตอร์นี้เพื่อจาวา ดังนั้นคุณต้องหาวิธีส่งพารามิเตอร์ java ใน SBT
ในเดือนมิถุนายน 2018 ด้วยความพยายามที่จะยกระดับความปลอดภัยและปฏิบัติตามมาตรฐานสมัยใหม่โปรโตคอล TLS 1.0 & 1.1 ที่ไม่ปลอดภัยจะไม่ได้รับการสนับสนุนสำหรับการเชื่อมต่อ SSL ไปยัง Central อีกต่อไป สิ่งนี้ควรมีผลเฉพาะกับผู้ใช้ Java 6 (และ Java 7) ที่ใช้ https ในการเข้าถึงส่วนกลางซึ่งโดยเมตริกของเรามีผู้ใช้น้อยกว่า. 2%
สำหรับรายละเอียดเพิ่มเติมและวิธีแก้ไขปัญหาโปรดดูบล็อกและคำถามที่พบบ่อยที่นี่: https://blog.sonatype.com/enhancing-ssl-security-and-http/2-support-for-central
คำสั่งต่อไปนี้ช่วยฉัน (ดำเนินการกับ bash ก่อนที่จะเรียกใช้ mvn)
export MAVEN_OPTS=-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2
ตามที่กล่าวไว้ว่า @ v.ladynev ทำงานร่วมกับ JDK 1.7
ด้วย Eclipse เพื่อให้สามารถดำเนินการ "Run As" maven install
ด้วยพารามิเตอร์บรรทัดคำสั่ง TLS เพียงกำหนดค่า JDK ที่คุณใช้
เปิดกล่องโต้ตอบผ่านหน้าต่าง > การตั้งค่า > Java > JREs ติดตั้ง
แล้วไฮไลท์ที่คุณกำลังใช้ (ควรจะเป็นJDKไม่JRE ) คลิกที่แก้ไข ในช่อง "เริ่มต้นการขัดแย้ง VM" -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2
กรอกค่า ดังแสดงด้านล่าง:
ทำความสะอาดโปรเจ็กต์ (อาจเป็นทางเลือก) จากนั้นเรียกใช้ไฟล์maven install
.
ฉันขอโทษฉันไม่รู้ว่าทำไมคุณถึงได้รับข้อความแสดงข้อผิดพลาด อย่างไรก็ตามฉันใช้ Java 7 และ Windows 10 และวิธีแก้ปัญหาสำหรับฉันคือใช้ Java 8 ชั่วคราวโดยเปลี่ยนJAVA_HOME
ตัวแปรสภาพแวดล้อม จากนั้นฉันสามารถเรียกใช้mvn install
และดึงข้อมูลจาก Maven Central Repository
โปรดทราบว่าหากคุณใช้ IBM JDK คุณอาจต้องตั้งค่าด้วย
com.ibm.jsse2.overrideDefaultTLS=true
เมื่อใช้ jdk7-u221 ฉันจำเป็นต้องติดตั้ง Java Cryptography Extension (JCE)