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にこのようなものはありますか?