IntelliJ IDEA: Tomcat 8.5.13 and 9.0.0.M19 — Error

2019-01-15 15:34发布

问题:

I can't understand what happened. There was no problem 2 days ago and now I can't deploy my applications. Any of it. The only thing I've done regarding network was plugging my laptop in other socket in the house using ethernet wire, nothing else. I tried almost every solution I found here and nothing helped.

Logs:

C:\servers\apache-tomcat-8.5.13\bin\catalina.bat run
[2017-04-11 06:19:51,636] Artifact TestJEE:war exploded: Server is not connected. Deploy is not available.
Using CATALINA_BASE:   "C:\Users\wojci\.IntelliJIdea2016.3\system\tomcat\Tomcat_8_5_13_TestJEE"
Using CATALINA_HOME:   "C:\servers\apache-tomcat-8.5.13"
Using CATALINA_TMPDIR: "C:\servers\apache-tomcat-8.5.13\temp"
Using JRE_HOME:        "C:\Program Files\Java\jdk1.8.0_112"
Using CLASSPATH:       "C:\servers\apache-tomcat-8.5.13\bin\bootstrap.jar;C:\servers\apache-tomcat-8.5.13\bin\tomcat-juli.jar"
11-Apr-2017 18:19:54.084 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version:        Apache Tomcat/8.5.13
11-Apr-2017 18:19:54.087 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          Mar 27 2017 14:25:04 UTC
11-Apr-2017 18:19:54.087 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number:         8.5.13.0
11-Apr-2017 18:19:54.088 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Windows 10
11-Apr-2017 18:19:54.088 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            10.0
11-Apr-2017 18:19:54.088 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:          amd64
11-Apr-2017 18:19:54.088 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:             C:\Program Files\Java\jdk1.8.0_112\jre
11-Apr-2017 18:19:54.088 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:           1.8.0_112-b15
11-Apr-2017 18:19:54.089 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:            Oracle Corporation
11-Apr-2017 18:19:54.089 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         C:\Users\wojci\.IntelliJIdea2016.3\system\tomcat\Tomcat_8_5_13_TestJEE
11-Apr-2017 18:19:54.090 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         C:\servers\apache-tomcat-8.5.13
11-Apr-2017 18:19:54.090 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=C:\Users\wojci\.IntelliJIdea2016.3\system\tomcat\Tomcat_8_5_13_TestJEE\conf\logging.properties
11-Apr-2017 18:19:54.090 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
11-Apr-2017 18:19:54.091 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote=
11-Apr-2017 18:19:54.091 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.port=1099
11-Apr-2017 18:19:54.091 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.ssl=false
11-Apr-2017 18:19:54.091 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.authenticate=false
11-Apr-2017 18:19:54.092 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.rmi.server.hostname=127.0.0.1
11-Apr-2017 18:19:54.092 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
11-Apr-2017 18:19:54.092 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
11-Apr-2017 18:19:54.092 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=C:\Users\wojci\.IntelliJIdea2016.3\system\tomcat\Tomcat_8_5_13_TestJEE
11-Apr-2017 18:19:54.092 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=C:\servers\apache-tomcat-8.5.13
11-Apr-2017 18:19:54.092 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=C:\servers\apache-tomcat-8.5.13\temp
11-Apr-2017 18:19:54.093 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library 1.2.12 using APR version 1.5.2.
11-Apr-2017 18:19:54.093 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
11-Apr-2017 18:19:54.093 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL configuration: useAprConnector [false], useOpenSSL [true]
11-Apr-2017 18:19:55.187 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized (OpenSSL 1.0.2k  26 Jan 2017)
11-Apr-2017 18:19:55.560 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
11-Apr-2017 18:19:55.691 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
11-Apr-2017 18:19:55.745 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8009"]
11-Apr-2017 18:19:55.763 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
11-Apr-2017 18:19:55.802 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 2418 ms
11-Apr-2017 18:19:55.982 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Catalina
11-Apr-2017 18:19:55.983 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.13
11-Apr-2017 18:19:56.185 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
11-Apr-2017 18:19:56.250 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
11-Apr-2017 18:19:56.382 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 578 ms
[2017-04-11 06:19:56,404] Artifact TestJEE:war exploded: Artifact is being deployed, please wait...
Connected to server
[2017-04-11 06:19:56,493] Artifact TestJEE:war exploded: Error during artifact deployment. See server log for details.
11-Apr-2017 18:20:06.205 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDescriptor Deploying configuration descriptor C:\Users\wojci\.IntelliJIdea2016.3\system\tomcat\Tomcat_8_5_13_TestJEE\conf\Catalina\localhost\ROOT.xml
11-Apr-2017 18:20:06.968 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDescriptor Deployment of configuration descriptor C:\Users\wojci\.IntelliJIdea2016.3\system\tomcat\Tomcat_8_5_13_TestJEE\conf\Catalina\localhost\ROOT.xml has finished in 762 ms
11-Apr-2017 18:20:06.973 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\servers\apache-tomcat-8.5.13\webapps\manager
11-Apr-2017 18:20:07.084 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory C:\servers\apache-tomcat-8.5.13\webapps\manager has finished in 112 ms
Disconnected from server

When i attempt to connect to "localhost:8080" i get a message about connection being REJECTED and "Disconnected from server" message in logs. There is nothing useful in the logs (no warnings/errors). This issue is in EVERY of my JEE applications.

As I said a tried many solutions from here EXCEPT the one with changing the value of %JAVA_OPTS% env var because I've got no 'setenv.bat' file anywhere in Tomcat directory and in Catalina.bat this variable seems to be set properly.
I'm quite new to this kind of technology and I am a little afraid to start tweaking around in stuff I don't know.

What could be causing this issue? What are the possible solutions?

回答1:

There appears to a be a deployment issue with the most recent Tomcat versions from IntelliJ IDEA. We have an open bug for that with the patched files attached that you can use to workaround the problem:

  • IDEA-171174 Tomcat 9.0.0.M19: failed to deploy simple WAR artifact

You can find the patched jar of IntelliJ IDEA Tomcat plug-in, replace <IDEA_HOME>/plugins/Tomcat/lib/tomcatIntegration.jar with it.

The original issue is caused by this Tomcat bug:

  • Bug 60949 - unable to deploy/undeploy war file using the manager

This bug is resolved in the following Tomcat versions:

  • 8.5.14 and later
  • 9.0.0.M20 and later

It's recommended to either wait for/install the fixed Tomcat versions or to revert back to the versions which are not affected by the bug (5.8.12 and 9.0.0.M18), since the workaround for IntelliJ IDEA uses some dirty hacks to make it work with Tomcat 5.8.13 and 9.0.0.M19 which are affected by Bug 60949 (broken JMX).