2

いくつかのインターフェースを実装することで拡張できるライブラリをMavenで作成しました。デフォルトの実装をテストするために、現在に住んでいるいくつかのハムクレストマッチャーを作成しましたsrc/test/java

ただし、カスタマイズをテストしたい場合は、ライブラリのユーザーにとって役立つと思います。

では、どうすればそれらを利用できるようにできますか?それらをに移動するにsrc/mainは、hamcrestを実行時の依存関係にする必要があり、私はそれを望んでいません。

4

3 に答える 3

5

コマンド「mvnjar:test-jar」を使用して、テストjarを作成し、リポジトリにインストールする方法があります。このjarは、依存関係ブロックのtest-jar修飾子を使用して、他のプロジェクトから参照できます。

このjarをビルドして、通常の「mvn install」ビルドの一部としてインストールする場合は、次のプラグイン構成をpomに追加します。

http://maven.apache.org/guides/mini/guide-attached-tests.htmlから

<project>
  <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>
</project>

次に、他のプロジェクトは次のようにテストjarを参照できます。

<dependency>
  <groupId>com.myco.app</groupId>
  <artifactId>foo</artifactId>
  <version>1.0-SNAPSHOT</version>
  <type>test-jar</type>
  <scope>test</scope>
</dependency>
于 2010-12-14T23:11:33.890 に答える
2

あなたが言ったように、それを新しいプロジェクトのsrc/mainに移動します。そのプロジェクトはテストの依存関係でのみ使用され、モジュールのクラスパスを汚染しないようにします。

于 2010-12-14T23:08:50.760 に答える
1

それらを独自のプロジェクトに移動してリリースする必要があるようです。そこから、元のプロジェクトで希望するスコープを決定できます。

于 2010-12-14T22:16:36.300 に答える