如何在Maven POM中定义@Parameter注释

时间:2014-03-20 07:27:35

标签: maven parameters mojo

我写了一个Mojo插件并设置了两个@Parameter(import org.apache.maven.plugins.annotations.Parameter;)

我想在项目的POM中配置我想要使用此插件的参数。

无论何时我都会收到错误消息。

POM的一部分:

        <plugin>
            <groupId>com.tup.test</groupId>
            <artifactId>versionsextra</artifactId>
            <version>1.0-SNAPSHOT</version>
            <executions>
                <execution>
                    <id>path</id>
                    <phase>test</phase>
                    <configuration>
                        <path>${basedir}/src/main/resources/configsys/dev/etc/deploy_env</path>

                    </configuration>

                </execution>
            </executions>

所以其中一个参数叫做路径:

 @Parameter()

private String path;

1 个答案:

答案 0 :(得分:0)

好吧,我明白了。

我必须这样声明:

@Mojo(name="devversion")

public class ParameterMojo extends AbstractMojo {

@Parameter()
private String path;

@Parameter()
private String pathsave;

...

在POM中:

      <plugin>
            <groupId>com.tup.test</groupId>
            <artifactId>versionsextra</artifactId>
            <version>1.0-SNAPSHOT</version>
            <executions>
                <execution>
                    <id>testen</id>
                    <phase>initialize</phase>
                    <goals>
                        <goal>devversion</goal>
                    </goals>
                    <configuration>
                        <path>${basedir}/src/main/resources/configsys/dev/etc/deploy_env</path>
                        <pathsave>${basedir}/src/main/resources/configsys/dev/etc/test.txt</pathsave>
                    </configuration>
                </execution>                        
            </executions>
        </plugin>