0

war B.war としてパッケージ化され、「ローカル」依存関係 A.jar を持つ Maven プロジェクト B があります。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 に答える