删除 Maven jar:test-jar 目标的测试分类器?

Remove tests classifier of Maven jar:test-jar goal?

我已将 maven-jar-plugin 配置如下:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-jar-plugin</artifactId>
  <version>2.3.2</version>
  <configuration>
    <finalName>${project.artifactId}.main</finalName>
  </configuration>
  <executions>
    <execution>
      <goals>
        <goal>test-jar</goal>
      </goals>
      <configuration>
        <finalName>${project.artifactId}.tests</finalName>
      </configuration>
    </execution>
  </executions>
</plugin>

我希望我的输出 JAR 文件被称为 ARTIFACT.main.jarARTIFACT.tests.jar。前者有效,但后者以 ARTIFACT.tests-tests.jar 的形式出现。有什么办法可以调整上面的配置来去掉-tests分类器吗?

不幸的是,在查看 maven-jar-plugin 源代码后,我认为无法从测试 jar 中删除 tests 分类器。

在目标 test-jar 期间调用的 execute 方法获取方法 getClassifier() 的输出以附加分类器:

File jarFile = createArchive();
String classifier = getClassifier();
if ( classifier != null )
{
    projectHelper.attachArtifact( getProject(), getType(), classifier, jarFile );
}
else
{
    getProject().getArtifact().setFile( jarFile );
}

getClassifier() 方法 returns 硬编码字符串 "tests" 用于 test-jar 目标。

我在 maven-jar-plugin JIRA 中找到了一个关于这个的 "Improvement" (MJAR-199)。欢迎为它投票!