問題:
一、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文件也會打進來的。