Maven:为测试包创建JAR,但不为源包创建JAR

时间:2016-06-22 09:04:41

标签: java maven jar

要求仅使用测试用例创建单独的项目。该项目(使用Maven构建)不包含源包中的任何文件;它只包含测试源中的测试用例。目前,使用maven-jar-plugin将它们打包成测试JAR;相关代码如下:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.4</version>
    <executions>
        <execution>
            <phase>prepare-package</phase>
            <goals>
                <goal>test-jar</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <outputDirectory>${assembleDir}/lib</outputDirectory>
        <excludes>
            <exclude>**/*.properties</exclude>
            <exclude>**/*.json</exclude>
        </excludes> 
        <archive>
            <manifest>
                <addClasspath>true</addClasspath>
                <mainClass>com.companyname.project.TestRunner</mainClass>
                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
            </manifest>
            <manifestEntries>
                <Class-Path>../conf/</Class-Path>
            </manifestEntries>
        </archive>
    </configuration>
</plugin>

构建项目时,也会创建源包的空JAR文件。如何在不停止测试JAR包装的情况下避免这种情况?

一个理想的解决方案是阻止Maven为源包创建JAR,如果它不包含任何文件。

解决方案

根据上述重定向问题answer,添加了

<execution>
    <id>default-jar</id>
    <phase/>
</execution>

到上面的<executions>部分。

虽然,不是我想要的确切解决方案,但它的工作原理从未如此。

0 个答案:

没有答案