如何在我的Java代码中使用Apache Ant的任务

bcb*_*hop 2 java ant scp

我想从我的代码中使用Ant的任务(scp).有什么办法吗?

我应该简单地引用一个Ant的库并直接从我的代码中调用API吗?

jah*_*roy 5

是的,您可以从代码中轻松调用Ant任务.

以下是如何扩展Ant任务的示例:

import org.apache.tools.ant.Project;
import org.apache.tools.ant.Target;
import org.apache.tools.ant.taskdefs.Copy;

public class MyCopyTask extends Copy {
    public MyCopyTask() {
        setProject(new Project());
        getProject().init();
        setTaskName("MyCopy");
        setTaskType("MyCopy");
        setOwningTarget(new Target());
    }
}
Run Code Online (Sandbox Code Playgroud)

以下是在代码中使用它的方法:

MyCopyTask copier = new MyCopyTask();
copier.setFile(srcFile);
copier.setTofile(toFile);
copier.execute();
Run Code Online (Sandbox Code Playgroud)

这里有更多信息: