#java #maven #maven-3 #maven-help-plugin
#java #maven #maven-3 #maven-help-plugin
Вопрос:
Я хотел бы использовать maven-help-plugin:3.2.0:evaluate
для получения информации из моего проекта pom, но результат оказался не таким, как я ожидал.
Пожалуйста, прочитайте редактирование в конце!
Я пытаюсь использовать его после проверки существующей ветки git.
Обычно это работает на большинстве проектов, в первый раз у меня нет никакого решения… Поиск в Интернете дает мне около 900 результатов, поэтому сейчас я понятия не имею. Я пробую это с maven 3.6.2 с AdoptOpenJDK Java 11
mvn org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate -Dexpression=project.artifactId
ожидалось myartifact
, но получил standalone-pom
mvn org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate -Dexpression=project.groupId
ожидалось com.myproject
, но получил org.apache.maven
mvn org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate -Dexpression=project.artifactId
ожидалось 1.0.0-SNAPSHOT
, но получил 1
У кого-нибудь есть идеи?
Как pom.xml
указано ниже, я не использую родительский pom в этом проекте.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.myproject</groupId>
<version>1.0.0-SNAPSHOT</version>
<artifactId>myartifact</artifactId>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<sonar.jacoco.reportPath>${project.basedir}/target/jacoco.exec</sonar.jacoco.reportPath>
</properties>
<!--
<distributionManagement>
... my dmans
</distributionManagement>
-->
<!--
<repositories>
... my repos
</repositories>
-->
<build>
<plugins>
<!--
<plugin>
... my plugins which not in org.apache.maven
</plugin>
-->
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.5</version>
<configuration>
<append>true</append>
</configuration>
<executions>
<execution>
<id>before-unit-test-execution</id>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<destFile>${sonar.jacoco.reportPath}</destFile>
<propertyName>surefire.jacoco.args</propertyName>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M4</version>
<configuration>
<skipTests>${skip.surefire.tests}</skipTests>
<groups>unit</groups>
<systemProperties>
<java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
</systemProperties>
<argLine>-Xmx2048m -XX:MaxPermSize=256m ${surefire.jacoco.args}</argLine>
</configuration>
</plugin>
</plugins>
</build>
</project>
Редактировать:
Исходная проблема была решена, потому что имя ветки было неправильным. Итак, правильный вопрос: зачем запускать Maven с этим результатом и почему не останавливаться с кодом выхода с ошибкой?
Спасибо
Комментарии:
1. Является ли это выполнение именно тем выполнением, которое выполняется? Вы работаете в простой командной строке? Вы работаете внутри контейнера? Есть ли у вас этот проект где-нибудь на github или похожий?
2. Привет @khmarbaise Я запускаю его на Дженкинсе, внутри yepp, из моего репозитория git. Команда mvn работает над другим проектом с той же средой, я написал ее в своем первоначальном вопросе.
3. Вы должны выполнить свой запрос по пути, по которому размещен этот файл POM, я думаю, вы выполняете запрос по другому пути POM, который выдает результаты этого артефакта.
4. @ShubhamPathak это был правильный вопрос, который я нашел, спасибо за посещение
Ответ №1:
Извините, ребята, это была моя вина.
Проверяемая ветвь была написана с ошибкой в цитируемом проекте, и я не вижу весь журнал ошибок в этой среде.
Но я не знаю, зачем запускать maven без кода выхода с ошибкой в этом случае…