java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind

來源:互聯網
上載者:User

          今天部署項目過程中tomcat報如下異常:

java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind    at java.net.PlainSocketImpl.socketBind(Native Method)    at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)    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:50)    at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:494)    at org.apache.tomcat.util.net.JIoEndpoint.start(JIoEndpoint.java:513)    at org.apache.coyote.http11.Http11Protocol.start(Http11Protocol.java:202)    at org.apache.catalina.connector.Connector.start(Connector.java:1132)    at org.apache.catalina.core.StandardService.start(StandardService.java:457)    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)    at org.apache.catalina.startup.Catalina.start(Catalina.java:552)    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.start(Bootstrap.java:288)    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)2012-11-27 17:13:51 org.apache.catalina.startup.Catalinastart

 

          Google下發現原來是連接埠被佔用。對於這個異常其實很容易解決,不外乎兩種解決方案:

             1、 更改tomcat連接埠

                     2、  關掉佔用該連接埠的進程。

          一、更改tomcat連接埠

          首先到安裝目錄(或者解壓目錄)下找到conf檔案夾,在裡面找到server.xml的檔案,找到

1 <Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"2 enableLookups="false" redirectPort="8443" acceptCount="100"3 debug="0" connectionTimeout="20000" 4 disableUploadTimeout="true" />

 

          將port="8080"改為其它的就可以了

 

          二、關閉佔用該連接埠的進程

        1、首先進入命令列查看連接埠是否被佔用

          使用命令: netstat –ano。如下:

          我的伺服器連接埠是:8080。從上面可以看出8080連接埠已經被PID為5268的進程佔用。

              2、查看該PID為 5268的進程

          使用命令:tasklist|findstr "5268"。如下

          從上面看出PID為5268的進程為javaw.exe。

          第一種解決辦法是:把javaw.exe進程關掉

          第二種解決辦法是:直接通過工作管理員查看PID為5268的進程,然後關掉windows工作管理員->查看->選擇列選中PID 然後查看工作管理員,關掉PID為5268的進程。

 

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.