コマンドラインからも実行できるTask
今回はそのタスクをコマンドラインからも実行できるようにする方法を説明します。
もう少し複雑なタスクなら引数を解析しなければなりませんがここでは単純にそのまま渡します。
コマンドラインからAntを実行するには、新規にオブジェクトを作成し実行するだけでいいのです。
ただし、参照とか使うものは当然動きません。
package org.jpn.xucker.ant; import java.io.IOException; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Task; public class ExplorerTask extends Task{ private String path; public static void main(String argv[]){ ExplorerTask exp=new ExplorerTask(); exp.setPath(argv[0]); exp.execute(); } public void execute() throws BuildException { Runtime runtime=Runtime.getRuntime(); String args[]={"explorer.exe",path}; try { Process process=runtime.exec(args); } catch (IOException e) { // TODO 自動生成された catch ブロック e.printStackTrace(); } } /** * @return */ public String getPath() { return path; } /** * @param string */ public void setPath(String string) { path = string; } }
以下のようにしてコマンドラインから実行できます。
java -cp ant.jar;bin org.jpn.xucker.ant.ExplorerTask http://www.xucker.jpn.org