2
A
回答
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());
}
}
下面介紹如何在代碼中使用它:
MyCopyTask copier = new MyCopyTask();
copier.setFile(srcFile);
copier.setTofile(toFile);
copier.execute();
這裏有更多的一些信息:
0
這肯定會將Ant任務包含在Java代碼中。作爲最後的手段,我們已經完成了這個。一個問題是你可能會設置一些Ant特定的屬性(例如setProject)來讓任務實際工作。這可能會使它使用起來有點尷尬。另外,正如你所提到的,你可能需要Ant運行庫來運行它。
我的第一個建議是查看是否有方法直接調用實際的SCP代碼,而不需要Ant開銷。第二種方法是查找Java SCP庫或找出Ant scp任務正在使用的內容。有關更多示例,請參閱scp via java。最後的建議是如上所述包含Ant任務。
0
我想調用系統調用會比較簡單:
try {
Runtime.getRuntime().exec("ant scpTask");
} catch (IOException e) {
e.printStackTrace();
}
0
我覺得Runtime.getRuntime().exec("ant deploy");
取決於您的操作系統,如果你只是在一個固定的操作系統上運行它,它確實是一個簡單和容易的方式得到什麼你要。 :)
相關問題
- 1. Apache Ant中的java任務問題
- 2. Apache Ant「應用」任務的源代碼在哪裏?
- 3. ANT - 我如何從使用Java的ant庫中獲得可用任務列表
- 4. 如何使用Apache Ant運行Java代碼
- 5. 如何在Gradle Ant任務中重構通用代碼?
- 6. 如何排除ant中的javac任務中的源代碼?
- 7. 如何在ant腳本中獲取ant任務的返回碼?
- 8. 如何使用maven ant任務安裝/部署源代碼集
- 9. 如何從我的Java代碼使用Apache Felix?如何添加maven POM代碼?
- 10. Apache Ant - 安裝Maven Ant任務
- 11. Ant java任務NoClassDefFoundError
- 12. Ant構建腳本執行<sql>使用java代碼的任務
- 13. 如何在Jmeter中使用Apache Ant?
- 14. 如何編譯java代碼設置的類加載器(通過Ant任務)
- 15. 如何用javafx ant任務指定jnlp代碼庫?
- 16. 定製ANT任務
- 17. 如何在Apache Tomcat服務器中保護我的代碼?
- 18. 如何在我的任務代碼運行之前從我的自定義任務*中調用其他任務?
- 19. 如何使用BPEL在Apache ODE中調用java代碼
- 20. Ant - 如何在javapath任務的classpath中使用fileset id?
- 21. 如何使用CPP-任務Ant構建
- 22. 如何運行LDAP使用Ant任務
- 23. 如何使用ANT任務啓動MySql
- 24. 如何使用ant任務 - native2ascii
- 25. 如何覆蓋存儲在ant lib目錄中的ant任務
- 26. 爲什麼我的子任務在ant任務中被殺死?
- 27. Ant XSLT任務與Java任務
- 28. 在weblogic clientgen ant任務中使用-XautoNameResolution
- 29. 如何禁用標準的ant任務?
- 30. 在java中使用我的代碼
是什麼讓這比一個簡單的系統調用更好? – amphibient
@foampile - 引用鏈接:它是跨平臺的,強大的,並受益於社區支持。此外,就像任何圖書館一樣,Ant Tasks包含了大量的選項,您可以使用它們來替代自己的選項。例如,通過複製任務,您可以輕鬆指定是否通過設置布爾字段來覆蓋現有文件。此外,當您進行「_simple_」系統調用時,會出現很多錯誤。我寧願讓Apache的代碼處理這些錯誤。我想快速思考執行scp時可能出錯的所有事情! – jahroy
這裏是Copy Task的源代碼的鏈接...正如你所看到的,你可以利用的選項有_TONS_(我不想自己實現所有這些):http://www.docjar .com/html/api/org/apache/tools/ant/taskdefs/Copy.java.html – jahroy