Netbeans 11 から Apache Tomcat 9 を起動する際に問題が発生します (バージョン 8.2 でも同じ問題が発生しました。Apache Tomcat 8 を使用していました)。
私が試したこと:
- catalina.bat 内の引用符を削除しました。
- 「IDE プロキシ設定を使用する」のチェックマークを削除しました
server.xml に以下のコードを変更/追加しました (書きましたが、何らかの理由で非表示にならずに書き込むことができませんでした)
コネクタ connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" server="Apache-Coyote/1.1"
Netbeans 8.2 では、Tomcat を追加できるようにプラグイン「Java EE」をインストールすることから始めました。その後、Tomcat 8.5.46 tar.gz ファイルを追加しました (最初に zip ファイルも試しましたが、うまくいきませんでした)。Netbeans で Web アプリケーションを作成して実行すると、サーバーを起動できないというエラーが表示されました。ファイルを再度実行しようとすると、「Tomcat の起動に失敗しました。サーバー ポート 8080 は既に使用されています。」というメッセージが表示されます。
Netbeans 11 では、サーバーを追加しようとすると標準がダウンロードされました。それが完了したら、Tomcat 9.0.26 tar.gz をダウンロードしました。そして、Netbeans 8.2 とまったく同じ問題が発生します。
「Tomcat の起動に失敗しました」とだけ表示されます。デバッグ モードでは、これらのエラーが発生します。
24-Sep-2019 18:08:14.774 SEVERE [main] org.apache.catalina.core.StandardService.initInternal Failed to initialize connector [Connector[HTTP/1.1-8080]]
org.apache.catalina.LifecycleException: Failed to initialize component [Connector[HTTP/1.1-8080]]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:112)
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:552)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:852)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)
at org.apache.catalina.startup.Catalina.load(Catalina.java:639)
at org.apache.catalina.startup.Catalina.load(Catalina.java:662)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:309)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:492)
Caused by: org.apache.catalina.LifecycleException: Protocol handler initialization failed
at org.apache.catalina.connector.Connector.initInternal(Connector.java:995)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)
... 12 more
Caused by: java.net.BindException: Address already in use
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:433)
at sun.nio.ch.Net.bind(Net.java:425)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:219)
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:1118)
at org.apache.tomcat.util.net.AbstractJsseEndpoint.init(AbstractJsseEndpoint.java:224)
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:581)
at org.apache.coyote.http11.AbstractHttp11Protocol.init(AbstractHttp11Protocol.java:68)
at org.apache.catalina.connector.Connector.initInternal(Connector.java:993)
... 13 more
答え1
追加
<Connector
connectionTimeout="20000"
port="8080"
protocol="HTTP/1.1"
redirectPort="8443"
server="Apache-Coyote/1.1"
/>
server.xmlへ
また、NETBEANS のプロキシを「プロキシなし」(サーバー上にない) に設定します。問題は修正されました。