差異處
這裏顯示兩個版本的差異處。
Both sides previous revision 前次修改 下次修改 | 前次修改 | ||
java:supportipv6:pure_ipv6_issue_of_jetty_on_windows [2020/01/23 11:12] tony [Problem] |
java:supportipv6:pure_ipv6_issue_of_jetty_on_windows [2023/06/25 09:48] (目前版本) |
||
---|---|---|---|
行 7: | 行 7: | ||
</code> | </code> | ||
在移除IPv4後,Jetty就無法啟動了:\\ | 在移除IPv4後,Jetty就無法啟動了:\\ | ||
- | {{:java:supportipv6:pureipv6_jetty_cant_start.png?|}} | + | {{:java:supportipv6:pureipv6_jetty_cant_start.png?|}}\\ |
+ | 我們使用的Java版本是1.8.0_201,Jetty是9.4.21。 | ||
===== How to resolve? ===== | ===== How to resolve? ===== | ||
+ | 經過爬文,發現這是JDK8、9的Bug。於是我使用以下測試程式分別使用JDK8與JDK13去確認結果: | ||
+ | <code java> | ||
+ | import java.net.NetworkInterface; | ||
+ | import java.net.SocketException; | ||
+ | |||
+ | public class Tester { | ||
+ | |||
+ | public static void main(String[] args) { | ||
+ | try { | ||
+ | NetworkInterface.getNetworkInterfaces(); | ||
+ | } catch (SocketException e) { | ||
+ | // TODO Auto-generated catch block | ||
+ | e.printStackTrace(); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | } | ||
+ | </code> | ||
+ | \\ | ||
+ | 經過實驗,的確在JDK8上有問題,而JDK13已經解決這個問題了:\\ | ||
+ | {{:java:supportipv6:pureipv6_diff_with_jdk8_and_jdk13.png|}}\\ | ||
+ | \\ | ||
+ | 更新JDK對我們來說是不小的工程,但目前應該沒其它解決方式了。 | ||
+ | ===== Reference ===== | ||
+ | * [[https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8046500|JDK-8046500 : GetIpAddrTable function failed on Pure Ipv6 environment]] | ||
+ | |||
+ | ===== ===== | ||
+ | ---- | ||
+ | \\ | ||
+ | ~~DISQUS~~ | ||
+ |