idea 打war 包 WEB-INF下的class文件没打进去
问题:
一、idea打war包的时候, WEB-INF下的class文件没打进去,导致tomcat启动的时候,报
org.apache.catalina.core.ApplicationContext.log No Spring WebApplicationInitializer types detected on classpath
以及java.lang.ClassNotFoundException:com.xxxx.xxx
二、
下面的两种打包方式,分解打包运行正常,直接打war包,运行出上面的问题。
背景:
idea编译常用的有两种方式,就是下图红框中的两个选项。
第一种是打的是分解包,如下图,打出来的就是将war包解压出来的文件。如果程序和打包没问题,你将打出来的文件全部拷贝到tomcat的webapp下面新建的项目文件夹下,是可以直接运行的。
第二种就是最上图中选择红框中第二种方式,这种事直接打war包的方式。
解决方法:
按下图选择Artifact后,
会显示choose Artifacts选择框,选择项目对应的分解Artifact就可以了。
选择过后,会显示
这里红框内的classes在war包的WEB-INF下面,对的class文件也会打进来的。