我有一个maven项目B,它被打包成战争B.war并且具有'本地'依赖性A.jar。用于构建A.jar的pom依赖于restFB,并且在编译时它可以正确解析。
<dependency>
<groupId>com.restfb</groupId>
<artifactId>restfb</artifactId>
<version>${com.restfb-version}</version>
</dependency>
但是当我打包B.war时,在B.war的WEB-INF / lib目录中没有restFB的jar,执行会抛出NoClassDefFoundError。令人困惑的是,只有当我在AWS Amazon Linux上构建它而不是在Ubuntu上构建时,才会发现这种情况。在SO中有类似的问题建议添加
<packaging>war</packaging>
我已经拥有但似乎没有解决问题。任何想法如何解决这个问题?
答案 0 :(得分:0)
应该很容易理解,你可能在Ubuntu下本地调用
mvn install
A 。因此它位于本地.m2存储库中。
AWS Amazon Linux在其存储库中是否也有此工件?如果没有,请将其复制并再次尝试打包。
此外,您明确包含并在 maven-war-plugin 的构建配置中排除某些工件