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编译常用的有两种方式,就是下图红框中的两个选项。

idea 打war 包 WEB-INF下的class文件没打进去_第1张图片

第一种是打的是分解包,如下图,打出来的就是将war包解压出来的文件。如果程序和打包没问题,你将打出来的文件全部拷贝到tomcat的webapp下面新建的项目文件夹下,是可以直接运行的。

idea 打war 包 WEB-INF下的class文件没打进去_第2张图片

第二种就是最上图中选择红框中第二种方式,这种事直接打war包的方式。

解决方法:

按下图选择Artifact后,

idea 打war 包 WEB-INF下的class文件没打进去_第3张图片

会显示choose Artifacts选择框,选择项目对应的分解Artifact就可以了。

idea 打war 包 WEB-INF下的class文件没打进去_第4张图片

选择过后,会显示

idea 打war 包 WEB-INF下的class文件没打进去_第5张图片

这里红框内的classes在war包的WEB-INF下面,对的class文件也会打进来的。

 

你可能感兴趣的:(idea,打war包)