java - Maven 插件配置将参数设置为类

标签 java maven

我正在开发一个 Maven 插件,其目标是具有类参数。

我想配置这个目标以使用特殊的类。

这是我的 Maven 插件 Mojo:

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

public void execute() throws MojoExecutionException {

这是我使用该插件的项目的 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>
...

如何让它工作。

最佳答案

如果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>

关于java - Maven 插件配置将参数设置为类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25566681/

相关文章:

java - 从 PING 扫描中检索 MAC 地址

java - GWT 无限滚动并丢弃列表开始结果

maven - 阻止单元测试但允许在 Maven 中进行集成测试

maven - 运行 mvn clean install 时不要运行集成测试

java - 同一 Maven 项目中的 Web 服务和 Web 服务器

java 文件/目录 api

java - 如何弃用 Eclipse/Maven/Nexus 中的库?

java - 在公共(public)网络上运行 JAR

java - Maven原型(prototype)生成并在eclipse中打开

java - 使用maven打包时如何调用SO原生库?