0

プロジェクト B に依存する Web プロジェクト A があります。

JAR C に依存するプロジェクト B

問題:

Web プロジェクト A をパッケージ化すると、b の jar がありますが (予想される)、それらは jar c への参照ではありません。

したがって、WebプロジェクトAを実行してプロジェクトBにアクセスすると、NotFoundExceptionjar Cが含まれていないため、クラスが取得されます

プロジェクトAに自分で書かずに親プロジェクトAにjar Cを含めるにはどうすればよいですかpom.xml

ウェブプロジェクトpom.xml

<project ....>
    ..........
    <dependencies>
        <!--Local Projects -->
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>project B</artifactId>
            <version>1.0.0</version>
       </dependency>
    </dependencies>

</project>

プロジェクトBpom.xml

<project ....>
<dependencies>
    <dependency>
        <groupId>jar_C</groupId>
        <artifactId>jar_C</artifactId>
        <version>1.0.0</version>

    </dependency>

</dependencies>

4

2 に答える 2

0

構成として、Mavenはコンパイルを担当します。つまり、jarはそれ自体との依存関係を一切取りません。依存関係をすべてまとめる必要がある場合は、Assemblyプラグインを使用する必要があります。こちらを参照してください。

于 2013-01-04T04:24:22.357 に答える
0

Maven Dependency Mechanismを読んでください。

インポート(Maven 2.0.9 以降でのみ使用可能)

このスコープは、セクション内のタイプ pom の依存関係でのみ使用され<dependencyManagement>ます。これは、指定された POM をその POM の<dependencyManagement>セクションの依存関係に置き換える必要があることを示します。それらは置き換えられるため、インポートのスコープを持つ依存関係は、依存関係の推移性の制限に実際には関与しません。

だから基本的に、これを試してください

ウェブプロジェクトpom.xml

<project ....>
    ..........
    <dependencies>
        <!--Local Projects -->
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>project B</artifactId>
            <version>1.0.0</version>
            <scope>import</scope>
       </dependency>
    </dependencies>

</project>
于 2013-01-04T07:16:29.617 に答える