在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中有这样的东西吗?
发布于 2013-03-07 01:16:25
你可以看看我刚才搞大的system-properties-maven-plugin。它允许您在pom.xml中定义系统属性。看一看USAGE文件。
该插件有两个目标--一个用于设置属性(set),另一个用于将它们恢复到原来的状态(reset)。
https://stackoverflow.com/questions/15248112
复制相似问题