读取ant taskdef中的属性文件
Posted
技术标签:
【中文标题】读取ant taskdef中的属性文件【英文标题】:read properties file inside ant taskdef 【发布时间】:2015-11-25 15:10:17 【问题描述】:我正在定义一个 build.xml 文件,我需要从属性文件中读取一些路径。在我定义的目标上读取它是可以的。当我尝试读取 taskdef 中的值时,问题就来了。我怎样才能做到这一点?
我有这样的事情:
<taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask">
<classpath>
<fileset dir="$paths.jaxb.lib" includes="*.jar" />
</classpath>
</taskdef>
我的“paths.jaxb.lib”是 jaxb lib 文件夹的路径。如何从我的 paths.properties 文件中获取此值?
【问题讨论】:
【参考方案1】:在<taskdef>
任务之前读取属性文件。
如果paths.properties
是……
paths.jaxb.lib=path/to/my/jaxb/lib
...然后在build.xml
...
<!-- Loading the Java properties file sets the paths.jaxb.lib Ant property. -->
<property file="paths.properties"/>
<taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask">
<classpath>
<fileset dir="$paths.jaxb.lib" includes="*.jar" />
</classpath>
</taskdef>
【讨论】:
以上是关于读取ant taskdef中的属性文件的主要内容,如果未能解决你的问题,请参考以下文章
使用类加载器AntClassLoader []找不到taskdef类org.apache.tools.ant.taskdefs.optional.ssh.Scp
在Gradle构建中使用Ant taskdef和loaderref
Java 和 ProGuard - 使用类加载器 AntClassLoader 找不到 taskdef 类 proguard.ant.ProGuardTask
原因:未找到类org.apache.tools.ant.taskdefs.optional.XMLValidateTask