您现在的位置是:首页 > 文章详情

IDEA 打war包部署时子模块jar包没依赖上

日期:2018-10-18点击:506


使用IDEA在tomcat中部署maven多模块时出现的一个莫名的bug


首先在server中打印下: 可以看见  context  [] startup failed due to previous error,     see server log for details.


[2018-10-19 10:55:28,273] Artifact springmvc-test:war exploded: Artifact is being deployed, please wait... Oct 19, 2018 10:55:29 AM org.apache.catalina.startup.TldConfig execute INFO: 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. SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. Oct 19, 2018 10:55:30 AM org.apache.catalina.core.StandardContext startInternal SEVERE: One or more listeners failed to start. Full details will be found in the appropriate container log file Oct 19, 2018 10:55:30 AM org.apache.catalina.core.StandardContext startInternal SEVERE: Context [] startup failed due to previous errors [2018-10-19 10:55:30,410] Artifact springmvc-test:war exploded: Error during artifact deployment. See server log for details. Oct 19, 2018 10:55:38 AM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory /opt/apache-tomcat-7.0.90/webapps/manager Oct 19, 2018 10:55:38 AM org.apache.catalina.startup.TldConfig execute INFO: 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. Oct 19, 2018 10:55:38 AM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deployment of web application directory /opt/apache-tomcat-7.0.90/webapps/manager has finished in 222 ms 

于是我们打开tomcat日志位置并查看:   显示framework-base中的ConfigItem NotFound.



zwj@ubuntu:~/.IntelliJIdea2018.1/system/tomcat/Unnamed_learn/logs$ ls catalina.2018-10-18.log localhost_access_log.2018-10-17.txt catalina.2018-10-19.log localhost_access_log.2018-10-18.txt host-manager.2018-10-18.log localhost_access_log.2018-10-19.txt host-manager.2018-10-19.log manager.2018-10-18.log localhost.2018-10-18.log manager.2018-10-19.log localhost.2018-10-19.log cat localhost。2018-10-19.log org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [com.zwj.framework.base.config.ConfigItem] for bean with name 'com.zwj.framework.base.config.ConfigItem#0' defined in class path resource [spring/applicationContext.xml]; nested exception is java.lang.ClassNotFoundException: com.zwj.framework.base.config.ConfigItem


果然在war包下的lib中并没有framework-base,springwork-mybatis等子模块的jar包:

8d16887e2342ad97bfc5ed1a6cd0945f103a2c97

显然使用idea点击运行tomcat时,在编译打包过程中我们的子模块给遗漏了?带着问题继续查看IDEA的日志。。。


zwj@ubuntu:~$ cd .IntelliJIdea2018.1/system/log/ zwj@ubuntu:~/.IntelliJIdea2018.1/system/log$ ls build-log idea.log.2 idea.log.5 idea.log idea.log.3 threadDumps-freeze-20181016-152806-IU-181.5540.7-20sec idea.log.1 idea.log.4 zwj@ubuntu:~/.IntelliJIdea2018.1/system/log$ tail -f idea.log com.intellij.execution.ExecutionException: Cannot load /home/zwj/learn/learn/springmvc-test/target/artifacts/springmvc_test_war_exploded /META-INF/context.xml: /home/zwj/learn/learn/springmvc-test/target/artifacts/springmvc_test_war_exploded/META-INF/context.xml (No such file or directory) at org.jetbrains.idea.tomcat.TomcatUtil.loadXMLFile(TomcatUtil.java:208) at org.jetbrains.idea.tomcat.TomcatUtil.findContextInContextXml(TomcatUtil.java:107) at org.jetbrains.idea.tomcat.TomcatUtil.findContextElement(TomcatUtil.java:381) at org.jetbrains.idea.tomcat.admin.TomcatAdminLocalServerImpl.addApplicationContext(TomcatAdminLocalServerImpl.java:191) 

百度了半天发现,这个context文件没有加载并不是错误的根本,而是没有导入子模块的jar包时产生的子错误。


庆幸的是最终还是找到了错误,我们看到下图中artifacts的lib中没有子模块的jar包,需要先点击lib,然后在available elements中点开相应模块,然后再

pack into进去。

81781264c3ff5cc9b576af9f0dc79a598fc75570f49f400c64c9b66bd44f3c06a7d2bfd576848c35


最后点击运行就行了。。。。。。。


坑。。。。。

原文链接:https://yq.aliyun.com/articles/655535
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章