亲宝软件园·资讯

展开

Maven打包后找不到class

masquee 人气:0

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>

加载全部内容

相关教程
猜你喜欢
用户评论