0

私のプロジェクトはいくつかのモジュールに分割されています。そのうちの 1 つは、他のモジュールに使用されることになっている共通のものです。

このモジュールには、他のモジュールから使用できるようにしたい TestUtils があります。

ライブラリが test-jar に追加されていないようです。どうすればこれを達成できますか?

+ common
++ lib
++ src
+++ test
++++ java
++++ resources
+ pom.xml

私の pom.xml には、次のようなシステムパスを介して含めるいくつかのライブラリが含まれています。

<dependency>
    <groupId>com.ibm</groupId>
    <artifactId>com.ibm.disthub2.dhbcore</artifactId>
    <version>5.3.07</version>
    <scope>system</scope>
    <systemPath>${basedir}/lib/dhbcore.jar</systemPath>
</dependency>
...
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.2</version>
            <executions>
                <execution>
                    <goals>
                        <goal>test-jar</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
4

1 に答える 1

0

簡単な答え: 不可能です。src/test/javatest- jarは、フォルダーの下にあるコンパイルされたクラスのみを対象としていますsrc/test/resourcesが、補足の jar ファイルは対象ではありません。

それとは別に、システムスコープを使用することは一般的に悪い考えです。そのような jar を会社のネクサスに入れて、通常の依存関係として使用するのが最善です。Maven プロジェクトの lib フォルダーは、通常、ビルドの臭いの指標となるため、避ける必要があります。

ところで: なぜこのような古いバージョンの maven-jar-plugin (2008 バージョン 2.2) を使用しているのですか。今年から現行バージョンのバージョン2.5。

于 2014-12-02T16:06:13.000 に答える