当我让一个插件扩展另一个插件时,它通常会从父级继承属性。有时它不起作用。加载插件时,父级的属性全部为空
我可能做错了什么?我将我的项目打包为一个 maven-plugin 并且它可以构建。
当我让一个插件扩展另一个插件时,它通常会从父级继承属性。有时它不起作用。加载插件时,父级的属性全部为空
我可能做错了什么?我将我的项目打包为一个 maven-plugin 并且它可以构建。
我自己也看到过这种情况,直到我调试了 Plexus 内部部件,我才发疯。我猜当父级在另一个插件中时属性不会被继承?
如果是这种情况,下面的解释会有所帮助。如果不是,则可能是 Javadoc 注释中的拼写错误。Maven 将跳过它无法识别的任何标签而不发出警告。
如果两者都不是,你能发布更多细节吗?也许是失败的 Mojo 的一个例子?
如果父母在另一个项目中,这就是您遇到问题的原因。
Maven 插件使用 Javadoc 注释来定义依赖关系、目标声明和其他配置(Maven 2.1 引入了适当的 Java 注释,但几乎没有插件使用它们)。一旦插件被安装/部署,Javadoc 就会丢失,因此在另一个 jar 中扩展插件的任何插件都无法访问 parent 中的 plexus 定义的属性。
不过有一个解决方法。插件元数据输出到 META-INF/maven/plugin.xml。有一个第三方插件从父 Mojo 的 plugin.xml 中读取信息并将本地插件元数据与它合并。然后,您的插件应该可以正常工作。