Làm cách nào để buộc Java sử dụng IPv4 thay vì IPv6?


39

Trình cắm Java trình duyệt của tôi không còn hoạt động. Khi tôi mở một trang có thành phần Java, Java không thể kết nối với máy chủ.

Sau khi điều tra, tôi thấy rằng Java đã cố gắng sử dụng IPv6, trong khi mạng của tôi không hỗ trợ IPv6, vì vậy Java luôn không kết nối được.

Tôi đã thử tìm kiếm trên Google và thấy rằng tôi nên chạy Java cùng -Djava.net.preferIPv4Stack=true, nhưng làm cách nào tôi có thể chuyển cái này cho trình duyệt?

Tôi sử dụng Google Chrome và Java 7 cập nhật 5.


Tại sao bạn không tắt giao thức IPv6 để Java sẽ không có tùy chọn này.
harrymc

đó là một câu chuyện cũ, tôi không biết nếu tôi vô hiệu hóa giao thức IPv6, dường như tôi đã quên, điều tôi nhớ là tôi xóa Java 7 và thay thế nó bằng Java 6
nyongrand

1
Vô hiệu hóa là dễ dàng: xem điều này .
harrymc

@harrymc luôn sao chép nội dung: liên kết đó đã chết.
javadba

@javadba: Liên kết không bao giờ chết: xem Wayback Machine , nhưng nó đã lỗi thời. Google tốt hơn "Vô hiệu hóa IPv6 trên Windows" cho nửa triệu kết quả.
harrymc

Câu trả lời:


66

Đặt các tùy chọn trong _JAVA_OPTIONSbiến môi trường. Cách thực hiện điều này đã được mô tả trong nhiều bài đăng khác - mặc dù chúng thường nói về cài đặt PATH, nhưng tất cả đều giống nhau.

Ví dụ: trên Linux, hãy đặt phần sau vào ~/.profilehoặc ~/.bash_profile:

export _JAVA_OPTIONS="-Djava.net.preferIPv4Stack=true"

1
ok, cảm ơn bạn đã trả lời, mặc dù tôi sử dụng windows nhưng giải pháp của bạn truyền cảm hứng cho tôi, cảm ơn
nyongrand

1
Xem ví dụ bài đăng này để đặt các biến môi trường: superuser.com/questions/284342/ từ
user2428118

1
Tại sao Java 'thích' IPV6? Nó dường như phá vỡ mã đã làm việc.
Ribo

Làm thế nào để thiết lập nó trong Windows?
Adnan Ali

1
@Ribo: Theo mặc định, Java sử dụng IPv6 xếp chồng kép khi có thể, nghĩa là, nó sử dụng các ổ cắm IPv6 cũng hỗ trợ các địa chỉ IPv4. Các ổ cắm này vẫn tương thích với các ứng dụng IPv4 bằng cách sử dụng các địa chỉ được ánh xạ IPv4. Do đó, đây là một hành vi tương thích ngược.
Koutheir Attouchi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.