gpt4 book ai didi

java - 在运行时操作 ANT 任务(设置属性)

转载 作者:行者123 更新时间:2023-12-02 07:49:50 25 4
gpt4 key购买 nike

我在项目中使用 ant 任务来执行很多操作,例如创建目录、删除文件等。在本例中,我从 SVN 服务器获取了一个分支列表,该列表运行良好。这一切都发生在我的程序运行时,从 java 代码中触发任务。

我的问题是:是否可以操作 ant 文件(tasks.xml)?用户应输入用户名/密码组合,并且在触发任务时,应在我的 ant 任务中使用这些凭据而不是属性。

Ant 文件:

<target name="getBranchList">
<exec executable="c:/svnclient/svn.exe"
output="c:/test/output/versionsonsvn.log">
<arg value="ls" />
<arg value="--username" />
<arg value="${svn.user}" />
<arg value="--password" />
<arg value="${svn.password}" />
<arg value="--non-interactive" />
<arg value="--trust-server-cert" />
<arg value="${svn.server}" />
</exec>
</target>

我如何在 Java 中使用它:

import org.apache.tools.ant.*;

public static void main(final String[] args) {
Vector<String> v = new Vector<String>();
v.add("getBranchList");
v.add("someOtherTask");
fireAntTasks("c:/test/tasks.xml", v); }

private void fireAntTasks(String fileName, Vector<String> v) {
File taskFile = new File(fileName);
if (buildFile.exists()) {
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.executeTargets(v);

} else {
System.out.println("File not found!");
}
}

我能想到的唯一解决方案是直接操作文件(在运行时设置“tasks.xml”中的属性)。但也许有更好的方法来让它发挥作用......

问候

基督教

最佳答案

我不确定我完全理解您的意思,但我猜测您试图获取用户输入来替换某些属性。

您可以使用 Input Task这将提示用户您可以将其存储到变量中。

或者您可以通过 property task 加载用户在执行 ant 之前编辑的属性文件。 .

关于java - 在运行时操作 ANT 任务(设置属性),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10353121/

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