標籤:window 更改 分享 org java.net 過程 pre native error:
初次使用IntelliJ IDEA,在配置tomcat後,啟動報下面異常
資訊: Command line argument: (x86)\java\servers\apache-tomcat-7.0.79\temp2017-8-10 19:55:50 org.apache.coyote.AbstractProtocol init資訊: Initializing ProtocolHandler ["http-bio-8080"]2017-8-10 19:55:50 org.apache.coyote.AbstractProtocol init資訊: Initializing ProtocolHandler ["ajp-bio-1099"]2017-8-10 19:55:50 org.apache.coyote.AbstractProtocol init嚴重: Failed to initialize end point associated with ProtocolHandler ["ajp-bio-1099"]java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind at java.net.PlainSocketImpl.socketBind(Native Method) at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365) at java.net.ServerSocket.bind(ServerSocket.java:319) at java.net.ServerSocket.<init>(ServerSocket.java:185) at java.net.ServerSocket.<init>(ServerSocket.java:141) at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:49) at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:400) at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:715) at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:452) at org.apache.catalina.connector.Connector.initInternal(Connector.java:978) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) at org.apache.catalina.core.StandardService.initInternal(StandardService.java:560) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:840) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) at org.apache.catalina.startup.Catalina.load(Catalina.java:643) at org.apache.catalina.startup.Catalina.load(Catalina.java:668) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:253) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:427)2017-8-10 19:55:50 org.apache.catalina.core.StandardService initInternal嚴重: Failed to initialize connector [Connector[AJP/1.3-1099]]org.apache.catalina.LifecycleException: Failed to initialize component [Connector[AJP/1.3-1099]] at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107) at org.apache.catalina.core.StandardService.initInternal(StandardService.java:560) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:840) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) at org.apache.catalina.startup.Catalina.load(Catalina.java:643) at org.apache.catalina.startup.Catalina.load(Catalina.java:668) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:253) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:427)Caused by: org.apache.catalina.LifecycleException: Protocol handler initialization failed at org.apache.catalina.connector.Connector.initInternal(Connector.java:980) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102) ... 12 moreCaused by: java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind at java.net.PlainSocketImpl.socketBind(Native Method) at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365) at java.net.ServerSocket.bind(ServerSocket.java:319) at java.net.ServerSocket.<init>(ServerSocket.java:185) at java.net.ServerSocket.<init>(ServerSocket.java:141) at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:49) at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:400) at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:715) at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:452) at org.apache.catalina.connector.Connector.initInternal(Connector.java:978) ... 13 more2017-8-10 19:55:50 org.apache.catalina.startup.Catalina load資訊: Initialization processed in 455 ms2017-8-10 19:55:50 org.apache.catalina.core.StandardService startInternal資訊: Starting service Catalina2017-8-10 19:55:50 org.apache.catalina.core.StandardEngine startInternal
很明顯是連接埠衝突。但是我本地沒起其他服務,不會有連接埠佔用。
然後查是否真的連接埠被佔用,
在開始-運行,輸入CMD開啟命令列介面,輸入命令
netstat -ano | findstr "1099"
查出來也是沒有1099連接埠佔用的情況。
然後一直百度查各種解決方案,大部分查出來都是怎樣處理連接埠衝突:
一:更改伺服器的連接埠號碼;
二:關閉佔用當前連接埠的進程
我也嘗試跟著百度提供的解決方案,找佔用連接埠,修改連接埠,殺進程等待,但是沒起作用都是報這個錯誤。
這時,我覺得不是其他程式連接埠佔用的問題,應該tomcat配置有問題。
這有兩個地方配置了“1099”。我試著把連接埠配置更大資料,還是報一樣的異常。
最後懷疑是兩個連接埠一致,起服務時候已經起了JMX1099連接埠,接著在起AJP1099,則衝突了。
試著把其中一個改為“1098”,再起服務,不報這個錯了。
這個問題糾結一個下午,最終解決了。把整個解決過程寫出來是為了後來者少踩點坑。
Unrecognized Windows Sockets error: 0: JVM_Bind,IntelliJ IDEA啟動tomcat報異常