#java #maven #testng #javadoc
#java #maven #testng #Javadoc
Вопрос:
У меня есть следующее:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven-javadoc-plugin.version}</version>
<executions>
<execution>
<id>javadoc-jar</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
Который отлично работает во время упаковки или установки:
однако, как только я попытаюсь указать группу TestNG для запуска тестов:
mvn install -Dgroups=somegroup
после завершения выполнения тестов происходит сбой со следующей ошибкой:
[ОШИБКА] Не удалось выполнить цель org.apache.maven.plugins:maven-javadoc-plugin:2.9.1:jar (javadoc-jar) в проекте ibd.database.api: не удалось проанализировать конфигурацию mojo org.apache.maven.plugins:maven-javadoc-plugin:2.9.1:jarдля параметра #: не удается найти установщик по умолчанию в классе org.apache.maven.plugin.javadoc.options.Группа
Спасибо за любую информацию или рекомендации по этому поводу.
Комментарии:
1. Для этого возникла проблема . Чтобы решить вашу проблему, определите свойство для maven-surefire-plugin, которое тем временем называется по-другому.
2. На основе сообщения, которое вы, должно быть, использовали
mvn install -Dgroup=somegroup
вместоmvn install -Dgroups=somegroup
.
Ответ №1:
Проблема в том, что как плагины surefire, так и javadoc используют параметр -Dgroups , и в вашем случае плагин javadoc не может найти «somegroup».
Насколько я знаю, для этого нет чистого решения, но вы можете сделать обходной путь, определив пользовательское свойство в вашем pom.xml:
<properties>
<surefire.groups></surefire.groups>
</properties>
Затем используйте свойство в конфигурации surefire:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
...
<configuration>
<groups>${surefire.groups}</groups>
</configuration>
</plugin>
Теперь вы можете запускать тесты из командной строки, используя свойство surefire.groups:
mvn install -Dsurefire.groups=somegroup