0

我有一个 maven 项目 B,它被打包为 war B.war,并具有“本地”依赖项 A.jar。用于构建 A.jar 的 pom 依赖于 restFB,并且在编译时可以正确解析。

     <dependency>
        <groupId>com.restfb</groupId>
        <artifactId>restfb</artifactId>
        <version>${com.restfb-version}</version>
    </dependency>

但是,当我打包 B.war 时,restFB 的 jar 不在 B.war 的 WEB-INF/lib 目录中,并且执行抛出 NoClassDefFoundError。同样令人困惑的是,我发现只有在 AWS Amazon Linux 上构建它而不是在 Ubuntu 上构建时才会发生这种情况。SO中有类似的问题,建议添加

         <packaging>war</packaging>

我已经有了,但似乎没有解决问题。任何想法如何解决这个问题?

4

1 回答 1

0

应该很容易理解,你可能在 Ubuntu 下本地调用过

mvn install

对于A。因此它位于本地 .m2 存储库中。

AWS Amazon Linux 的存储库中是否也有这个工件?如果没有,请将其复制到那里并再次尝试打包。

此外,您在maven-war-plugin的构建配置中明确包含和排除某些工件

于 2013-07-28T09:09:22.330 回答