如何在maven中安装测试罐?

Suj*_*jen 30 jar artifact maven

我有一个我想安装的测试罐.我不确定是否有不同的方法来安装test-jar,例如定义一个告诉maven它是一个测试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
Run Code Online (Sandbox Code Playgroud)

那么我将如何安装一个测试罐呢?我知道必须要告诉maven它是一个测试jar,因为groupId和artifactId与另一个jar(这将是example-test.jar测试的jar)相同.

car*_*ing 46

您无需手动安装它们.Maven将在执行时为您执行以下操作:

mvn clean install
Run Code Online (Sandbox Code Playgroud)

你需要一个配置:

    ...
    <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>
    ...
Run Code Online (Sandbox Code Playgroud)

然后,稍后在您需要使用它的其他模块中,您需要将依赖项的类型定义为:

 <dependency>
    <groupId>com.foo</groupId>
    <artifactId>bar</artifactId>
    <version>1.2.3</version>
    <type>test-jar</type>
    <scope>test</scope>
 </dependency>
Run Code Online (Sandbox Code Playgroud)


Raj*_*uri 9

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
Run Code Online (Sandbox Code Playgroud)