0
在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中是否有這樣的事情?