扩充maven编译任务



在Maven中,使用编译器插件,我们可以做

mvn compile

并编译项目。我需要的是编译项目和做一些其他的东西。

例如,在ANT中我可以这样做:
public class Main extends Javac13 {
    @Override
    public boolean execute() throws BuildException {
        System.out.println("Main::execute");
        attributes.log("Using modern compiler", Project.MSG_VERBOSE);
        Commandline cmd = setupModernJavacCommand();
        try {
            int result = com.sun.tools.javac.Main.compile(cmd.getArguments());
            return result == 0;
        } catch (Exception ex) {
            if (ex instanceof BuildException) {
                throw (BuildException) ex;
            } else {
                throw new BuildException("Error starting modern compiler", ex, location);
            }
        }
    }
    @Override
    public void setJavac(Javac javac) {
        System.out.println("Main::setJavac " + javac);
        super.setJavac(javac);
    }
}

以这种方式启动它:

 ant -Dbuild.compiler=com.moc.Main ...
上面的

类变成了编译器,我可以用ANT给我的命令行做任何我想做的事情。另外,很棒的是我不需要碰build.xml文件。我只需要设置一个系统属性。

在Maven中有类似的东西吗?

你可以看看system-properties-maven-plugin我前阵子敲出来的。它允许您在pom.xml中定义系统属性。看一下USAGE文件。

插件有两个目标——一个用于设置属性(set),另一个用于将它们恢复到原始状态(reset)。

相关内容

  • 没有找到相关文章

最新更新