java - 如何从自定义 Mojo 中获取 Maven 二进制版本?

标签 java maven maven-plugin 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。从 Java 中的自定义 Maven Mojo 访问此内容的最佳方式是什么?有可用的属性吗?

我想针对正在执行 Mojo 的当前 Maven 版本运行验证,谢谢

最佳答案

您可以使用以下代码片段获取有关当前 Maven 版本的信息:

@Component
private RuntimeInformation runtime;

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

运行时还提供有关getBuildNumber()getIncrementalVersion()getMajorVersion()getMinorVersion()getQualifier()。 这应该适合您的需求。

关于java - 如何从自定义 Mojo 中获取 Maven 二进制版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21697359/

相关文章:

svn - Sonar 与 SVN 的集成

maven - IntelliJ IDEA 中有 Maven 插件,无需在计算机上安装 Maven

java - 在 netbeans 7 中,如何在构建 maven 项目时跳过测试并添加 maven 附加参数?

java - 将文档转换为字符串时出错

java - 是否有任何选项可以在 spring boot 中为所有 @RequestHeaders 添加默认值?

maven - Stylus CSS 编译和 Maven

java - maven编译错误

java - 尽管位置具有正确的 url,但未发生重定向

java - Javax.Persistence 和 Hibernate.Annotations 之间的区别

java - maven问题,远程仓库不可用