Tôi đang gặp các lỗi dưới đây khi kết nối với Maven Central / https://repo1.maven.org sau ngày 18 tháng 6 năm 2018.
Received fatal alert: protocol_version
hoặc là
Received fatal alert: peer not authenticated
Tôi đang gặp các lỗi dưới đây khi kết nối với Maven Central / https://repo1.maven.org sau ngày 18 tháng 6 năm 2018.
Received fatal alert: protocol_version
hoặc là
Received fatal alert: peer not authenticated
Câu trả lời:
Giải pháp 1: cấu hình Java 7
Cần phải kích hoạt giao thức TLS 1.2 với thuộc tính Java trong dòng lệnh
mvn -Dhttps.protocols=TLSv1.2 install
install
chỉ là một ví dụ về một mục tiêu
ant
Bằng cách này, lỗi tương tự có thể được giải quyết
java -Dhttps.protocols=TLSv1.2 -cp %ANT_HOME%/lib/ant-launcher.jar org.apache.tools.ant.launch.Launcher
Giải pháp 2: sử dụng Java 7 với Hỗ trợ nâng cao của Oracle
Ngoài ra vấn đề có thể được giải quyết bằng cách cập nhật phiên bản Java 7. Nhưng phiên bản có sẵn cuối cùng ( 7u80
) không khắc phục được sự cố. Cần sử dụng bản cập nhật được cung cấp với Hỗ trợ nâng cao của Oracle (trước đây gọi là Java dành cho doanh nghiệp).
Giải pháp 3: sử dụng Java 8 thay thế
Định cấu hình $JAVA_HOME
để trỏ đến Java 8.
sbt -Dhttps.protocols=TLSv1.2 instal
nhưng nó không hoạt động
-Dhttps.protocols=TLSv1.2
. Vì vậy, bạn cần tìm cách vượt qua các tham số java trong SBT.
Vào tháng 6 năm 2018, trong nỗ lực nâng cao bảo mật và tuân thủ các tiêu chuẩn hiện đại, các giao thức TLS 1.0 & 1.1 không an toàn sẽ không còn được hỗ trợ cho các kết nối SSL đến Trung tâm. Điều này chỉ ảnh hưởng đến người dùng Java 6 (và Java 7) cũng đang sử dụng https để truy cập trung tâm, theo số liệu của chúng tôi ít hơn .2% người dùng.
Để biết thêm chi tiết và cách giải quyết, hãy xem blog và faq tại đây: https://blog.sonatype.com/enhANCE-ssl-security-and-http/2-support-for-central
Lệnh sau đã giúp tôi (thực hiện trên bash trước khi chạy mvn)
export MAVEN_OPTS=-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2
Như đã nói @ v.ladynev, nó hoạt động với JDK 1.7
Với Eclipse, để có thể thực hiện "Chạy dưới dạng" maven install
với tham số dòng lệnh TLS, chỉ cần cấu hình JDK bạn đang sử dụng.
Mở hộp thoại qua Window > Preferences > Java > JREs đã cài đặt .
Sau đó, đánh dấu cái bạn đang sử dụng (nên là JDK , không phải JRE ), nhấp vào Chỉnh sửa . Trong trường "Đối số VM mặc định", điền giá trị -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2
. Như hình dưới đây:
Làm sạch dự án (có thể tùy chọn), sau đó chạy lại a maven install
.
Tôi xin lỗi, tôi không biết tại sao bạn nhận được thông báo lỗi. Tuy nhiên, tôi đang sử dụng Java 7 và Windows 10 và giải pháp cho tôi là tạm thời sử dụng Java 8 bằng cách thay đổi JAVA_HOME
biến môi trường. Sau đó, tôi có thể chạy mvn install
và tìm nạp từ Kho lưu trữ trung tâm Maven.
Lưu ý rằng nếu bạn đang sử dụng IBM JDK, bạn cũng có thể phải đặt
com.ibm.jsse2.overrideDefaultTLS=true
Sử dụng jdk7-u221, tôi cần cài đặt Phần mở rộng mã hóa Java (JCE)