Niv*_*vas 15
您可以从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());
Run Code Online (Sandbox Code Playgroud)
更新
我尝试使用以下ant文件,它没有"告诉"任何东西(没有控制台输出),但是它起作用了:文件确实被移动了
<project name="testproject" default="test" basedir=".">
<target name="test">
<move file="test.txt" tofile="test2.txt" />
</target>
</project>
Run Code Online (Sandbox Code Playgroud)
当我再次尝试时(当没有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);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4534 次 |
最近记录: |