当前位置: 代码迷 >> java >> 如何将Ant文件(build.xml)中的属性提取到Java代码中
  详细解决方案

如何将Ant文件(build.xml)中的属性提取到Java代码中

热度:3   发布时间:2023-07-31 11:05:45.0

执行build.xml文件后,我想检查build.xml中的某些属性以处理Java代码中的某些错误。

对于信息,我的Ant文件(build.xml)以这种方式执行(并非所有代码都存在):

ILaunchConfigurationWorkingCopy workingCopy = type.newInstance(null,
                ITaskLauncherConstants.LAUNCHER_NAME);

/* Configure the ILaunchConfiguration (not all setAttribute calls are presents) :*/
workingCopy.setAttribute(IExternalToolConstants.ATTR_LOCATION, "build.xml");


/* Launch the task, where monitor is a IProgressMonitor */
ILaunch lc = workingCopy.launch(ILaunchManager.RUN_MODE, monitor);

在我的build.xml文件中,我有一些属性:

<!-- In Ant File -->
<property name="fail.message" value="true" />

是否可以用Java代码检查属性的内容? 就像是 :

/* In Java code */
lc.getProperty("fail.message");

当然,这意味着该类将“记录” build.xml属性。

6个月前曾问过同样的问题,但答案不起作用(我尝试过):

感谢您的任何建议。

一种简单的方法是在您的ant构建脚本中使用 ,这意味着将所有或所需的属性(通过echoproperties属性前缀)写入文件,然后将该文件加载到Java中。
从 ,属性destfile为:

如果指定,则该值指示要将语句的输出发送到的文件的名称。 生成的输出文件兼容任何Java应用程序作为属性文件加载。 如果未指定,则输出将进入Apache Ant日志。

<echoproperties prefix="fail" destfile="what/ever/foo.properties"/>
  相关解决方案