【问题标题】:Building Maven Plugin - API to resolve maven properties构建 Maven 插件 - 用于解析 Maven 属性的 API
【发布时间】:2011-12-16 03:19:01
【问题描述】:

我正在创建一个从 pom 读取信息的插件,当涉及到指定目录的元素时,我遇到了一些属性,例如 ${basedir} 等。我想知道 Maven 是否有一个我可以使用的 API,我可以在其中传递这些属性,他们可以为我解决它。

最好不必先运行另一个插件。它可能以粗略的方式进行,但只是想知道是否有任何“更高级”的东西我可以使用。

谢谢!

【问题讨论】:

    标签: maven-plugin maven-3


    【解决方案1】:

    声明一个属性,maven 会将 MavenProject 模型注入:

    /** @parameter default-value="${project}" */ 私有 org.apache.maven.project.MavenProject mavenProject;

    然后您可以通过 getProperties() 访问属性,如下所述:

    http://docs.codehaus.org/display/MAVENUSER/Mojo+Developer+Cookbook#MojoDeveloperCookbook-StoringProperties

    您还需要在 mojo 的 POM 中声明对 org.apache.maven:maven-project:${version of maven} 的依赖。

    我希望这就是你要问的... -蒂姆

    【讨论】:

    • 是否获得了已经在 Maven 中预定义的属性,例如 ${basedir}?
    • 它返回定义在 POM 的 元素中的属性。当我打印一个用 expression=${basedir} 注释的配置参数的值时,它被解析为实际的基本目录。我想我不明白你在问什么。
    • 当我把一个变量放在一个 元素中时,当我获取它时它就被解析了。
    • 我明白了。我想知道的是那些在 Maven 中默认的属性,比如 ${basedir} 等,而不是那些由 定义的属性。但是,尽管如此,我不知道 maven 可以为您解析 中的属性,所以这对我来说是新事物。谢谢
    • 我认为,但不是 100% 确定,所有可以解析的变量都会在您的插件运行时得到解析。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-28
    • 2014-09-14
    • 1970-01-01
    • 2018-11-25
    • 2013-06-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多