3

我已经实现了一个 Maven 2 插件。

我对我的 Mojo 有这样的定义:

/**
 * Goal which combines files.
 *
 * @goal combine
 * @phase compile
 */
public class CombineMojo extends AbstractMojo {

我必须将它添加到我的项目(使用插件)pom中:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>base-project</groupId>
    <artifactId>base-project</artifactId>
    <version>1.0-SNAPSHOT</version>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>combine-maven-plugin</artifactId>
                <version>1.0-SNAPSHOT</version>
                <configuration>
                    <input>src/input.html</input>
                    <output>html/output.html</output>
                </configuration>
                <executions>
                    <execution>
                        <id>combine-maven-plugin</id>
                        <goals>
                            <goal>combine</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

但是我应该怎么做才能自动执行它而不是在 pom.xml 中定义。我尝试添加

@execute ...

进入我的 Mojo 定义,但它没有用。顺便说一句,我应该定义一个 id,它需要什么?

4

1 回答 1

0

只有在 Maven 中绑定了生命周期阶段,才能执行 Maven 插件。

于 2013-01-06T16:02:17.033 回答