0

マルチプロジェクト環境で Maven2 を使用しています。実際、私は依存関係のスコープを扱っています。ターゲット ソリューションでは、クラスパスを設定して、すべての依存関係を vm に送信します。

Pom_Project_A_.xml

<dependencies>
    <dependency>log4j</dependency>
    <dependency>commons-io</dependency>
    <dependency>...</dependency>
</dependencies>

Pom_Project_B.xml

<dependencies>
    <dependency>Project_A</dependency>
</dependencies>

プロジェクト「B」をコンパイルしたい場合、プロジェクト「A」ですでに定義されているlog4jおよびその他の「サブ依存関係」を解決できません。

この動作を変更することは可能ですか? どうもありがとう

4

1 に答える 1

0

スコープ「コンパイル」が必要です。スコープのコンパイル、ランタイム、テストなどとmavenのゴールパッケージ、アセンブリなどについて混乱していました。

プロジェクト A の Pom:

<parent>
    <groupId>net.company</groupId>
    <artifactId>superpom</artifactId>
    <version>1.0.2</version>
</parent>

<groupId>net.company.projectA</groupId>
<artifactId>projectA</artifactId>
<version>1.1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.16</version>
        <scope>compile</scope>
    </dependency>
</dependencies>

プロジェクト B の Pom:

<parent>
    <groupId>net.company</groupId>
    <artifactId>superpom</artifactId>
    <version>1.0.2</version>
</parent>

<groupId>net.company.projectB</groupId>
<artifactId>projectB</artifactId>
<version>1.1.2-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
    <dependency>
        <groupId>net.company.projectA</groupId>
        <artifactId>projectA</artifactId>
        <version>1.1.0-SNAPSHOT</version>
        <scope>compile</scope>
    </dependency>
</dependencies>
于 2012-07-18T06:58:50.160 に答える