您 可以 从Java代码调用ant脚本。
请参阅本文(向下滚动至“通过Java运行Ant”部分)和本文:
File buildFile = new File("build.xml"); Project p = new Project(); p.setUserProperty("ant.file", buildFile.getAbsolutePath()); p.init(); ProjectHelper helper = ProjectHelper.getProjectHelper(); p.addReference("ant.projectHelper", helper); helper.parse(p, buildFile); p.executeTarget(p.getDefaultTarget());更新资料
我尝试使用以下ant文件,它没有“告诉”任何内容(没有控制台输出),但是它 起作用了 :该文件确实被移动了
<project name="testproject" default="test" basedir="."> <target name="test"> <move file="test.txt" tofile="test2.txt" /> </target> </project>
当我再次尝试时(当无法
test.txt移动(已经移动)时),我得到了
java.io.FileNotFoundException。
我认为这是从Java运行某些东西时所期望的。
如果您希望控制台输出ant任务,则可能需要添加Logger作为构建侦听器。
从下面@Perception的答案。
DefaultLogger consoleLogger = new DefaultLogger(); consoleLogger.setErrorPrintStream(System.err); consoleLogger.setOutputPrintStream(System.out); consoleLogger.setMessageOutputLevel(Project.MSG_INFO); p.addBuildListener(consoleLogger);



