我想通过os类型以不同方式设置ant任务中的属性.
该属性是一个目录,在windows中我希望它在unix/linux"/ opt/flag"中是"c:\ flag".
我的当前脚本仅在我使用默认目标运行时才有效,但为什么?
<target name="checksw_path" depends="if_windows, if_unix"/>
<target name="checkos">
<condition property="isWindows">
<os family="windows" />
</condition>
<condition property="isLinux">
<os family="unix" />
</condition>
</target>
<target name="if_windows" depends="checkos" if="isWindows">
<property name="sw.root" value="c:\flag" />
<echo message="${sw.root}"/>
</target>
<target name="if_unix" depends="checkos" if="isLinux">
<property name="sw.root" value="/opt/flag" />
<echo message="${sw.root}"/>
</target>
Run Code Online (Sandbox Code Playgroud)
在我的所有蚂蚁目标中,我添加了"depends = checksw_path".
如果我在Windows中运行默认目标我已经正确地"c:\ flag"但是如果我运行非默认目标我已经得到了调试进入if_windows但是指令""没有设置剩余的属性/选择/标志.我正在使用ant 1.7.1.
是否可以在将库导入 Java 之前检查库是否存在。例如你有一个代码:
如果(library.java 存在)导入库