Java Maven插件配置将参数设置为类

Java Maven插件配置将参数设置为类,java,maven,Java,Maven,我正在开发一个maven插件,目标是有一个类的参数 我想将此目标配置为使用特殊类 这是我的maven插件魔力: /** * The used parser. * * @parameter expression="${parser}" */ private EndpointParser parser; public void execute() throws MojoExecutionException { 这是使用插件的项目的my pom.xml: ... <plugins&

我正在开发一个maven插件,目标是有一个类的参数

我想将此目标配置为使用特殊类

这是我的maven插件魔力:

/**
 * The used parser.
 * 
 * @parameter expression="${parser}"
 */
private EndpointParser parser;

public void execute() throws MojoExecutionException {
这是使用插件的项目的my pom.xml:

...
<plugins>
        <plugin>
            <groupId>foo</groupId>
            <artifactId>bar</artifactId>
            <configuration>
                <parser>com.foo.bar.MyEndpointParser</parser>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                    <phase>generate-sources</phase>
                </execution>
            </executions>
        </plugin>
    </plugins>
...
。。。
福
酒吧
com.foo.bar.MyEndpointParser
生成
生成源
...

如何让它工作。

我认为这应该可以:

<configuration>
  <parser implementation="com.foo.bar.MyEndpointParser"/>
</configuration>


但是,如果将MyEndpointParser配置为
组件
,可能会更容易。我找不到关于它的任何文档。您可以看看maven编译器插件的源代码。这里有一个参数,用于
编译器ID
在实现之间切换。

如果
MyEndPointParser
不是插件的一部分,而是另一个项目(它本身不是插件的依赖项),则必须声明它不是项目的依赖项,而是插件的依赖项,例如

<plugins>
    <plugin>
        <groupId>foo</groupId>
        <artifactId>bar</artifactId>
        <configuration>
            <parser>com.foo.bar.MyEndpointParser</parser>
        </configuration>

        <dependencies>
            <dependency>
                <groupId>foo</groupId>
                <artifactId>contains-my-endpoint-parser</artifactId>
            </dependency>
        </dependencies>

        <executions>
            <execution>
                <goals>
                    <goal>generate</goal>
                </goals>
                <phase>generate-sources</phase>
            </execution>
        </executions>
    </plugin>
</plugins>

福
酒吧
com.foo.bar.MyEndpointParser
福
包含我的端点分析器
生成
生成源

您遇到了什么问题?
com.foo.bar.MyEndpointParser
是您插件的一部分还是使用您插件的项目的一部分?插件的用途是什么?为什么要使用老式的xdoclet things而不是?@ooxi
MyEndPointParser
在调用项目的另一个maven依赖项中声明。请参阅。确保它位于插件的类路径上。