Intellij idea IntelliJ Idea中的Tomcat应用程序部署&x27;不要编译源文件

Intellij idea IntelliJ Idea中的Tomcat应用程序部署&x27;不要编译源文件,intellij-idea,gradle,tomcat8,Intellij Idea,Gradle,Tomcat8,我在以下环境中工作: IntelliJ Idea 2017.1.2 Tomcat 8.0.43 梯度3.5 我已经创建了一个带有服务器子模块的Gradle项目,我正在尝试使用IntelliJ Idea部署此应用程序 问题是在运行应用程序时。这个想法似乎没有完全部署应用程序:没有生成类文件,应用程序无法启动。 只有当我手动运行gradlewar任务时,应用程序才会被部署,但代码更改不会被重新部署,我需要再次tun该任务 这从未发生过,直到现在一切都很顺利。 查看S.O.和其他在线资源后,我发现

我在以下环境中工作:

  • IntelliJ Idea 2017.1.2
  • Tomcat 8.0.43
  • 梯度3.5
我已经创建了一个带有
服务器
子模块的Gradle项目,我正在尝试使用IntelliJ Idea部署此应用程序

问题是在运行应用程序时。这个想法似乎没有完全部署应用程序:没有生成类文件,应用程序无法启动。 只有当我手动运行
gradlewar
任务时,应用程序才会被部署,但代码更改不会被重新部署,我需要再次tun该任务

这从未发生过,直到现在一切都很顺利。 查看S.O.和其他在线资源后,我发现显然我所有的配置都是正确的:
build.gradle
服务器模块的代码:

apply plugin: 'war'

dependencies{
  // https://mvnrepository.com/artifact/org.testng/testng
  testCompile group: 'org.testng', name: 'testng', version: '6.10'
  // https://mvnrepository.com/artifact/org.mockito/mockito-all
  testCompile group: 'org.mockito', name: 'mockito-all', version: '1.10.19'
  // https://mvnrepository.com/artifact/javax/javaee-api
  compile group: 'javax', name: 'javaee-api', version: '7.0'
  // https://mvnrepository.com/artifact/org.apache.cxf/cxf-rt-frontend-jaxrs
  compile group: 'org.apache.cxf', name: 'cxf-rt-frontend-jaxrs', version: '3.1.9'
  // https://mvnrepository.com/artifact/com.fasterxml.jackson.jaxrs/jackson-jaxrs-json-provider
  compile group: 'com.fasterxml.jackson.jaxrs', name: 'jackson-jaxrs-json-provider', version: '2.8.5'
  // https://mvnrepository.com/artifact/com.google.inject/guice
  compile group: 'com.google.inject', name: 'guice', version: '4.1.0'
  compile project(':core')
  compile project(':core-api')

}

test{
  useTestNG()
}
启动Tomcat时出现的错误(注意末尾的严重行):

以及异常本身(引发异常是因为类没有实际编译和部署):

服务器配置:

部署配置:

您可以在下图中看到,部署只部署了外部库,但没有部署我开发的生成代码: 问题已解决: 手动清理所有Idea和Gradle生成的文件并重建项目后,项目似乎又开始工作了

具体而言,我认为问题出在
.gradle
库:
从Gradle 3.2移动到3.5后,仍然有一个
<代码> > GoeLe/3.2代码>目录,这可能会使事情变得混乱。

你会考虑使用GADLE货运、Tomcat或JETTY插件而不是在英特利里运行吗?这样,您就可以直接从命令行或IntelliJ Gradle插件运行和调试了。请在附件中提交一个bug。

/home/guy/tomcat/bin/catalina.sh run
[2017-05-12 11:50:57,164] Artifact Gradle : com.navnplay : server.war (exploded): Server is not connected. Deploy is not available.
12-May-2017 11:50:57.760 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version:        Apache Tomcat/8.0.43
12-May-2017 11:50:57.762 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          Mar 28 2017 14:42:59 UTC
12-May-2017 11:50:57.762 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number:         8.0.43.0
12-May-2017 11:50:57.765 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Linux
12-May-2017 11:50:57.765 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            4.4.0-72-generic
12-May-2017 11:50:57.765 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:          amd64
12-May-2017 11:50:57.765 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:             /usr/lib/jvm/java-8-oracle/jre
12-May-2017 11:50:57.765 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:           1.8.0_131-b11
12-May-2017 11:50:57.765 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:            Oracle Corporation
12-May-2017 11:50:57.765 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         /home/guy/.IntelliJIdea2017.1/system/tomcat/Unnamed_navnplay_2
12-May-2017 11:50:57.766 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         /home/guy/apache-tomcat-8.0.43
12-May-2017 11:50:57.766 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/home/guy/.IntelliJIdea2017.1/system/tomcat/Unnamed_navnplay_2/conf/logging.properties
12-May-2017 11:50:57.767 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
12-May-2017 11:50:57.767 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote=
12-May-2017 11:50:57.767 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.port=1099
12-May-2017 11:50:57.767 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.ssl=false
12-May-2017 11:50:57.770 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.authenticate=false
12-May-2017 11:50:57.770 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.rmi.server.hostname=127.0.0.1
12-May-2017 11:50:57.770 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
12-May-2017 11:50:57.770 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
12-May-2017 11:50:57.770 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.endorsed.dirs=/home/guy/tomcat/endorsed
12-May-2017 11:50:57.770 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/home/guy/.IntelliJIdea2017.1/system/tomcat/Unnamed_navnplay_2
12-May-2017 11:50:57.770 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/home/guy/tomcat
12-May-2017 11:50:57.770 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/home/guy/tomcat/temp
12-May-2017 11:50:57.772 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /home/guy/idea-IU-171.3780.107/bin:/home/guy/idea-IU-171.3780.107/bin:/home/guy/idea-IU-171.3780.107/bin:/home/guy/idea-IU-171.3780.107/bin:/home/guy/idea-IU-171.3780.107/bin::/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
12-May-2017 11:50:58.001 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
12-May-2017 11:50:58.021 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
12-May-2017 11:50:58.026 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8009"]
12-May-2017 11:50:58.030 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
12-May-2017 11:50:58.034 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 702 ms
12-May-2017 11:50:58.065 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Catalina
12-May-2017 11:50:58.065 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.43
12-May-2017 11:50:58.070 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
12-May-2017 11:50:58.079 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
12-May-2017 11:50:58.091 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 57 ms
Connected to server
[2017-05-12 11:50:58,472] Artifact Gradle : com.navnplay : server.war (exploded): Artifact is being deployed, please wait...
12-May-2017 11:50:59.401 INFO [RMI TCP Connection(2)-127.0.0.1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
12-May-2017 11:50:59.416 SEVERE [RMI TCP Connection(2)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appropriate container log file
12-May-2017 11:50:59.422 SEVERE [RMI TCP Connection(2)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal Context [/navnplay] startup failed due to previous errors
[2017-05-12 11:50:59,441] Artifact Gradle : com.navnplay : server.war (exploded): Error during artifact deployment. See server log for details.
12-May-2017 11:51:08.073 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /home/guy/apache-tomcat-8.0.43/webapps/docs
12-May-2017 11:51:08.114 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /home/guy/apache-tomcat-8.0.43/webapps/docs has finished in 41 ms
12-May-2017 11:51:08.114 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /home/guy/apache-tomcat-8.0.43/webapps/examples
12-May-2017 11:51:08.249 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /home/guy/apache-tomcat-8.0.43/webapps/examples has finished in 135 ms
12-May-2017 11:51:08.249 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /home/guy/apache-tomcat-8.0.43/webapps/ROOT
12-May-2017 11:51:08.261 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /home/guy/apache-tomcat-8.0.43/webapps/ROOT has finished in 12 ms
12-May-2017 11:51:08.261 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /home/guy/apache-tomcat-8.0.43/webapps/manager
12-May-2017 11:51:08.298 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /home/guy/apache-tomcat-8.0.43/webapps/manager has finished in 37 ms
12-May-2017 11:51:08.298 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /home/guy/apache-tomcat-8.0.43/webapps/host-manager
12-May-2017 11:51:08.319 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /home/guy/apache-tomcat-8.0.43/webapps/host-manager has finished in 21 ms
12-May-2017 11:50:59.415 SEVERE [RMI TCP Connection(2)-127.0.0.1] org.apache.catalina.core.StandardContext.listenerStart Error configuring application listener of class com.navnplay.web.di.DIContextListener
 java.lang.ClassNotFoundException: com.navnplay.web.di.DIContextListener
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:509)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:490)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4775)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:753)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:729)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
    at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1696)
    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.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300)
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
    at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:484)
    at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:433)
    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.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300)
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
    at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1468)
    at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)
    at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309)
    at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1401)
    at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829)
    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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:346)
    at sun.rmi.transport.Transport$1.run(Transport.java:200)
    at sun.rmi.transport.Transport$1.run(Transport.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:748)

12-May-2017 11:50:59.416 SEVERE [RMI TCP Connection(2)-127.0.0.1] org.apache.catalina.core.StandardContext.listenerStart Skipped installing application listeners due to previous error(s)