gpt4 book ai didi

java - 是否可以从 Java 代码调用 Ant 或 NSIS 脚本?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:05:23 25 4
gpt4 key购买 nike

是否可以在运行时从 Java 代码以编程方式调用 Ant 或 NSIS 脚本?如果是,怎么办?

最佳答案

可以从 Java 代码调用 ant 脚本。

参见 this article (向下滚动到“通过 Java 运行 Ant”部分)和 this article :

   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);

关于java - 是否可以从 Java 代码调用 Ant 或 NSIS 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6440295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com