Netbeans 11에서 Apache Tomcat 9를 시작하는 데 문제가 있습니다(8.2 버전에서도 동일한 문제가 발생했습니다. 여기서는 Apache Tomcat 8을 사용했습니다).
내가 시도한 것:
- catalina.bat에서 따옴표를 제거했습니다.
- "IDE 프록시 설정 사용"에서 확인 표시를 제거했습니다.
server.xml에서 아래 코드를 변경/추가했습니다. (어떤 이유로 숨겨지지 않고는 쓸 수 없었습니다.)
커넥터 연결Timeout="20000" 포트="8080" 프로토콜="HTTP/1.1" RedirectPort="8443" 서버="Apache-Coyote/1.1"
Netbeans 8.2에서는 Tomcat을 추가할 수 있도록 "Java EE" 플러그인을 설치하는 것으로 시작했습니다. 그런 다음 Tomcat 8.5.46 tar.gz 파일을 추가했습니다(처음에는 zip 파일로도 시도했지만 작동하지 않았습니다). Netbeans에서 웹 애플리케이션을 만들고 실행하면 서버를 시작할 수 없다는 오류가 발생했습니다. 파일을 다시 실행하려고 하면 "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의 프록시를 "프록시 없음"(서버가 아님)으로 설정합니다. 문제가 해결되었습니다.