Как вы получаете бинарную версию Maven из пользовательского Mojo?

Я имею в виду двоичную версию Maven, которая возвращается, когда вы обычно запускаете

mvn --version

из командной строки, которая возвращает вывод, как показано ниже,

Apache Maven 3.0.4
Maven home: /usr/share/maven
Java version: 1.6.0_45, vendor: Sun Microsystems Inc.
Java home: /home/uvindra/Apps/java6/jdk1.6.0_45/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.11.0-15-generic", arch: "amd64", family: "unix"

Обратите внимание на версию maven 3.0.4. Какой лучший способ получить доступ к этому из пользовательского Maven Mojo в Java? Есть ли недвижимость для этого?

Я хочу запустить проверку текущей версии Maven, которая выполняет мой Mojo, спасибо

2 ответа

Решение

С помощью getApplicationVersion() как упомянуто Хмарбайзом устарело, getMavenVersion() является рекомендуемой функцией для использования. Вы должны включить maven-core 3.0.2 или выше в качестве зависимости, чтобы использовать RuntimeInformation учебный класс.

вот полный пример использования,

Требуемая зависимость от пом

<dependency>
   <groupId>org.apache.maven</groupId>
   <artifactId>maven-core</artifactId>
   <version>3.0.2</version>
</dependency>

Импорт пакетов

import org.apache.maven.rtinfo.RuntimeInformation;

использование

 /**
 *
 * @component
 */
private RuntimeInformation runtime;

public void execute() {
     String version = runtime.getMavenVersion();
     getLog().info("Maven Version: " + version);
     ...
}

@khmarbaise, спасибо, что указал мне правильное направление

Вы можете получить информацию о текущей версии Maven, используя следующий фрагмент кода:

@Component
private RuntimeInformation runtime;

public void execute() {
  ArtifactVersion version = runtime.getApplicationVersion();
  getLog().info("Version: " + version);
...
}

runtime также предлагает информацию о getBuildNumber(), getIncrementalVersion(), getMajorVersion(), getMinorVersion() а также getQualifier(), Это должно соответствовать вашим потребностям.

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