如何使用Apache Ant爲目錄中的每個文件運行java任務?看起來像<apply>
只允許運行可執行文件。如何爲目錄中的每個文件運行java任務?
0
A
回答
0
或者使用具有可執行的java.exe這樣的應用:
<apply executable="path/to/java.exe">
<arg value="..."/>
<arg value="..."/>
...
<fileset dir="..."/>
...
</apply>
,或者使用一些AntAddon,提供了一個for循環,即Flaka,看到Wiki examples/Files + Directories:
問:我編譯Java源代碼之後怎麼運行相應的類?
解決方案:遍歷包含java源文件集並使用replace函數調用相應的類文件。
<project xmlns:fl="antlib:it.haefelinger.flaka">
<property name="srcroot" value="path/to/srcrootdir"/>
<property name="classroot" value="path/to/classrootdir"/>
<!-- seek all classes with main method -->
<fileset dir="${srcroot}" includes="**/*.java" id="mainclasses">
<contains text="public static void main"/>
</fileset>
<!-- iterate over classes with main method and call
corresponding classfile -->
<fl:for var="file" in="split('${toString:mainclasses}', ';')">
<fl:let>
; strip the '.java' extension
file = replace(file, '', '.java')
; replace fileseparator with '.'
; when running on windows you have to use :
; replace(file, '\.', '${file.separator}${file.separator}')
file = replace(file, '\.', '${file.separator}')
</fl:let>
<fl:echo>
starting => #{file} in ${classroot}..
</fl:echo>
<java classname="#{file}">
<classpath>
<!--
when using a fileset you'll get a
java.util.zip.ZipException because you're
referencing not jarfiles but classfiles
therefore you've to use pathelement location
-->
<pathelement location="${classroot}"/>
</classpath>
</java>
</fl:for>
</project>
0
相關問題
- 1. 如何在UNIX中的目錄中的每個文件上運行Java程序?
- 2. 每X秒執行一個目錄中的任何X文件
- 3. 批處理文件運行目錄中的每個.REG文件
- 4. MSBuild - 爲每個文件運行一個Java程序是一個目錄
- 5. 如何在每次任務中運行一個capistrano任務?
- 6. 如何爲目錄中的多個文件運行腳本?
- 7. 如何遞歸地導入目錄中的每個文件並在每個文件中運行一個函數?
- 8. 在目錄中的每個文件上運行命令
- 9. 對目錄中的每個.ly文件運行lilypond
- 10. 如何爲給定文件中的每一行執行一個ant任務?
- 11. 如何打印目錄中每個文件的最長行號?
- 12. 如何順序執行目錄中每個文件的命令?
- 13. 如何爲每個任務管理器(或每個節點)運行一個源?
- 14. 如何爲目錄中的每個文件創建軟鏈接?
- 15. 在每個目錄文件夾中自動運行PHP和HTML
- 16. 目錄編譯和運行java文件
- 17. 在每個子目錄中運行make
- 18. 如何從任何目錄運行cscope?
- 19. 如何從任何目錄運行Makefile?
- 20. 如何在maven目標目錄中的JAR文件中運行java類?
- 21. 如何運行另一個目錄中的exe文件!
- 22. 如何運行在另一個目錄中的.class文件
- 23. 爲目錄和子目錄中的每個文件執行一些操作
- 24. 如何當在目錄中的文件運行PHP文件 - 編碼服務器
- 25. 如何在文件夾中的每個文件上執行任務python
- 26. Gradle:迭代測試目錄並在每個目錄中執行多項任務
- 27. 如何在java中並行運行2個任務?
- 28. 如何爲目錄中的每個項目創建一個文件夾?
- 29. Gulp - 每個文件夾運行一次任務
- 30. 如何從Java每天運行一項任務?