【问题标题】:Maven MOJO: Get execution configuration in runtimeMaven MOJO:在运行时获取执行配置
【发布时间】:2014-06-23 10:28:22
【问题描述】:

我正在开发一个 maven 插件。

当 maven 实例化 mojo 类时,注释为 @Parameter 的字段将被 maven “依赖注入”,因为子节点是在 project/build/plugins/plugin/executions/execution 标签内定义的。

像这样:

@Parameter(defaultValue = "${basedir}/src", alias = "src")
private String sourcePath;

将被填充

<configuration>
    <src>${basedir}/whatever</src>
</configuration>

.

有没有办法通过一些 java 调用来获取配置? 我知道我可以使用

public Xpp3Dom org.apache.maven.plugin.MojoExecution.getConfiguration()

要检索该配置,问题是在这种情况下属性未解析,因此我得到 sourcePath 的“${basedir}/whatever”,${} 的属性未解析。我需要解决它们,无论它们是什么属性。

有没有办法在运行时获取解析值?

谢谢

【问题讨论】:

  • 哪个 Maven 版本?哪个maven-plugin-plugin版本?你使用 maven-plugin-annotation 吗?显示完整的 pom 文件?不要使用'${basedir}/',最好使用'${project.basedir}'。

标签: java maven annotations execution mojo


【解决方案1】:

用以下方式注释你的魔力:

@Mojo(name = "mymojoid", defaultPhase = LifecyclePhase.PACKAGE, requiresDependencyResolution = ResolutionScope.COMPILE_PLUS_RUNTIME)
public class MyMojo extends AbstractMojo{}

然后会自动解析值

【讨论】:

    猜你喜欢
    • 2015-03-15
    • 1970-01-01
    • 1970-01-01
    • 2014-05-09
    • 2016-11-09
    • 2012-11-14
    • 1970-01-01
    • 2016-04-07
    • 1970-01-01
    相关资源
    最近更新 更多