-Antタスク

Antタスクの実装のため、中身を見てますが、フレームワークとしても機能が充実していて、手数が少なくいろんなことができるので楽しい。結構昔からあるし、使ってるのに、自分でタスクを書くことは無かったのでした。

public class ExecuteJavaTask extends Task {
  private CommandlineJava _commandline = new CommandlineJava();
  protected void setClassname(String classname) {
    _commandline.setClassname(classname);
  }
  public Path createClasspath() {
    return _commandline.createClasspath(getProject()).createPath();
  }
  @Override
  public void execute() throws BuildException {
    ExecuteJava java = new ExecuteJava();
    java.setJavaCommand(_commandline.getJavaCommand());
    java.setClasspath(_commandline.getClasspath());
    java.execute(getProject());
  }   
}
  <taskdef name="execute"
    classname="ExecuteJavaTask"
    classpath="context/WEB-INF/classes"/>
  <target name="execute">
    <execute classname="ExecuteMain">
      <classpath>
        <pathelement path="context/WEB-INF/classes"/>
      </classpath>
    </execute>
  </target>

こんなんで、Javaアプリを動かせます。これのリッチなのが、標準の「java」タスクです。