1.问题起源
某个项目Jenkins打包后生成的war包里没有class文件,并且没有任何报错或者警告,打包也提示成功。
2.可能的原因
历经各种折腾,偶然发现某个依赖的jar包在仓库里没有对应的pom.xml文件。但是maven没有报任何错误或者警告,导致一直没有发现。至于为何该依赖没有pom.xml文件,还不清楚原因。
一般情况下,比如我们依赖的commons-dbcp,仓库中包括的文件如下:
但是依赖的某个jar包,在maven仓库里包括的文件缺少了pom.xml。
后来将maven-compiler-plugin升级,可以看到在编译时maven报错,不过最终还是打包成功。虽然打包成功,但是里面没有classes文件。
3.解决方法
将依赖的jar包升级后重新deploy,项目里的依赖也相应升级。并且将maven-compiler-plugin版本升级到最新,防止再次出现这种问题时看不到maven报错。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
到此这篇关于Maven打包后找不到class文件的问题的文章就介绍到这了,更多相关Maven打包后找不到class内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!