是否有一个“问题”;“严格模式”;对于ApacheAnt?
如果我有这样一个Ant任务:是否有一个“问题”;“严格模式”;对于ApacheAnt?,ant,properties,strict,Ant,Properties,Strict,如果我有这样一个Ant任务: <target name="default"> <mkdir dir="${installer.config.installation.db.path}"/> </target> 如果要求ANT解析属性但失败,有没有办法强制执行失败?没有办法对所有属性执行此操作,但您可以检查单个属性: <fail unless="installer.config.installation.db.path" /> 当未定义
<target name="default">
<mkdir dir="${installer.config.installation.db.path}"/>
</target>
如果要求ANT解析属性但失败,有没有办法强制执行失败?没有办法对所有属性执行此操作,但您可以检查单个属性:
<fail unless="installer.config.installation.db.path" />
当未定义属性时,上述操作将中止脚本。但是,当属性为空时,它将成功 无法对所有属性执行此操作,但您可以检查单个属性:
<fail unless="installer.config.installation.db.path" />
当未定义属性时,上述操作将中止脚本。但是,当属性为空时,它将成功 以下内容仅适用于ant项目级属性。(需要groovy库)
导入org.apache.tools.ant.PropertyHelper;
def antProject=项目;
如果(“#MyPropertyHelper”!=PropertyHelper.getPropertyHelper(antProject.toString()){
def myPropertyHelper=新的PropertyHelper(){
@委托PropertyHelper委托=PropertyHelper.getPropertyHelper(antProject);
公共对象getProperty(字符串名称){
Object v=delegate.getProperty(名称);
如果(v==null)抛出新的org.apache.tools.ant.BuildException(“属性`$name`未定义”);
返回v;
}
公共字符串toString(){return“#MyPropertyHelper”}
}
antProject.addReference(“ant.PropertyHelper”,myPropertyHelper);
}
以下内容仅适用于ant项目级属性。(需要groovy库)
导入org.apache.tools.ant.PropertyHelper;
def antProject=项目;
如果(“#MyPropertyHelper”!=PropertyHelper.getPropertyHelper(antProject.toString()){
def myPropertyHelper=新的PropertyHelper(){
@委托PropertyHelper委托=PropertyHelper.getPropertyHelper(antProject);
公共对象getProperty(字符串名称){
Object v=delegate.getProperty(名称);
如果(v==null)抛出新的org.apache.tools.ant.BuildException(“属性`$name`未定义”);
返回v;
}
公共字符串toString(){return“#MyPropertyHelper”}
}
antProject.addReference(“ant.PropertyHelper”,myPropertyHelper);
}
<?xml version="1.0" encoding="UTF-8"?>
<project name="strict me" default="default" basedir=".">
<target name="init-strict">
<script language="groovy">
import org.apache.tools.ant.PropertyHelper;
def antProject = project;
if( "#MyPropertyHelper"!=PropertyHelper.getPropertyHelper(antProject).toString() ) {
def myPropertyHelper = new PropertyHelper(){
@Delegate PropertyHelper delegate = PropertyHelper.getPropertyHelper(antProject);
public Object getProperty(String name){
Object v = delegate.getProperty(name);
if(v==null)throw new org.apache.tools.ant.BuildException("The property `$name` not defined");
return v;
}
public String toString() {return "#MyPropertyHelper"}
}
antProject.addReference("ant.PropertyHelper", myPropertyHelper);
}
</script>
</target>
<target name="default" depends="init-strict">
<mkdir dir="${installer.config.installation.db.path}"/>
</target>
</project>