Убрать тест-классификатор 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 по этому поводу. Не стесняйтесь голосовать за это!