Убрать тест-классификатор Maven jar: цель теста-jar?

Я настроил 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.jar а также ARTIFACT.tests.jar, Первый работает, а второй выходит как ARTIFACT.tests-tests.jar вместо. Есть ли способ настроить вышеуказанную конфигурацию, чтобы удалить -tests классификатор?

1 ответ

Решение

К сожалению, посмотрев на maven-jar-plugin Исходный код, я не думаю, что можно удалить tests классификатор из тестовой банки.

execute метод, который вызывается во время цели test-jar принимает вывод метода getClassifier() добавить классификатор:

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

и getClassifier() Метод возвращает жестко закодированные строки "тесты" для test-jar Цель.

Я нашел "Улучшение" ( MJAR-199) в плагине maven-jar-plug JIRA по этому поводу. Не стесняйтесь голосовать за это!

Другие вопросы по тегам