【问题标题】:Why doesn't my Maven plugin pick up parent properties?为什么我的 Maven 插件不获取父属性?
【发布时间】:2009-08-03 15:54:15
【问题描述】:

当我让一个插件扩展另一个插件时,它通常会从父级继承属性。有时它不起作用。 加载插件时,父级的属性全部为空

我可能做错了什么?我将我的项目打包为一个 maven-plugin 并且它可以构建。

【问题讨论】:

    标签: maven-2 maven-plugin


    【解决方案1】:

    我亲眼目睹了这一点,直到我调试了 Plexus 的内部结构,我才发疯。我猜当父级在另一个插件中时属性不会被继承?

    如果是这样,下面的解释会有所帮助。如果不是,则可能是 Javadoc 注释中的拼写错误。 Maven 将跳过任何它无法识别的标签而不发出警告。

    如果两者都不是,你能发布更多细节吗?也许是失败的 Mojo 的一个例子?


    如果父级在另一个项目中,这就是您遇到问题的原因。

    Maven 插件使用 Javadoc 注释来定义依赖关系、目标声明和其他配置(Maven 2.1 引入了适当的 Java 注释,但几乎没有插件使用它们)。一旦插件被安装/部署,Javadoc 就会丢失,因此在另一个 jar 中扩展插件的任何插件将无法访问父级中 plexus 定义的属性

    虽然有一个解决方法。插件元数据输出到 META-INF/maven/plugin.xml。有一个third-party plugin 从父Mojo 的plugin.xml 中读取信息并将本地插件元数据与其合并。然后您的插件应该可以正常工作了。

    【讨论】:

    • 搞清楚你所说的“这就是解释”是什么意思
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-15
    • 1970-01-01
    • 1970-01-01
    • 2014-01-28
    • 1970-01-01
    相关资源
    最近更新 更多