インストールしたいテストjarがあります。 mavenにテストjarであることを通知するプロパティを定義するなど、テストjarをインストールする別の方法があるかどうかはわかりません。
また、groupIdとartifactIdは、テストが行われる別のjarと同じです。
これまでのところ、これは私のインストールコマンドがどのように見えるかです:
mvn install:install-file -DgroupId=com.example -DartifactId=example -Dpackaging=jar -Dversion=1.2.3 -Dfile=example-test.jar -DgeneratePom=true
では、テストjarをどの程度正確にインストールしますか? groupIdとartifactIdは別のjar(example-test.jarがテストされるjar)と同じであるため、mavenにテストjarであることを伝える必要があることを私は知っています。
手動でインストールする必要はありません。 Mavenは、実行時にこれを行います。
mvn clean install
次のような構成が必要です。
...
<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>
...
次に、それを使用する必要がある他のモジュールで、依存関係のタイプを次のように定義する必要があります。
<dependency>
<groupId>com.foo</groupId>
<artifactId>bar</artifactId>
<version>1.2.3</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
mvn install:install-file
-DgroupId=com.example
-DartifactId=example
-Dversion=1.2.3
-Dclassifier=tests
-Dpackaging=test-jar
-Dfile=example-1.2.3-tests.jar
テストコードは、通常のコードと同じプロジェクトの/ src/test/Javaに配置します。 Mavenは、パッケージ化されたjarにテストコードを含めないように処理します。単体テストにのみ使用される依存関係(mockito、junitなど)がある場合は、Maven依存関係で「テスト」のスコープを指定すると、単体テストで使用できるようになりますが、実際のjarには含まれません。 。
私はあなたがgeneratePomフラグを見逃したかもしれないと思います、私は同じエラーを受け取りました、しかし最終的に以下はうまくいきました
mvn install:install-file
-Dfile=c:/primo/primo-1.0.0-SNAPSHOT.jar
-DgroupId=uk.bl.primo
-DartifactId=primo
-Dversion=1.0.0
-Dpackaging=jar
-DgeneratePom=true