我有一个由mojos组成的maven插件。假设先将myproject.FirstMojo声明为@goal,然后将myproject.SecondMojo声明为@goal
我想要做的是注入第一个mojo作为第二个mojo的属性。我尝试过用下面的方式声明它:
/**
* @component role="myproject.FirstMojo"
*/
private FirstMojo first;不幸的是,在这样做的时候,我得到了一个Component descriptor cannot be found in the component repository:错误。
我该怎么做?
发布于 2010-03-05 09:43:27
您可以使用:
/** @component role="org.apache.maven.plugin.Mojo" role-hint="groupId:artifactId:version:second" */
private FirstMojo first;请注意,它们必须在相同的插件中,并且您必须用您的值替换组、工件和版本。这可能会涉及到过滤您的源代码以获得正确的版本,这使得它有点复杂。
我强烈建议将你所需要的功能分解到一个单独的类中(如果你需要访问其中的一些组件,可能是Plexus ),或者是一个抽象基类。
https://stackoverflow.com/questions/2378588
复制相似问题