Java 如何在其他构建文件目标中导入ant构建文件
我对使用ant目标编写构建文件知之甚少。 我面临的问题是,我想要一个构建文件,如果满足给定条件,该文件应该导入其他ant构建文件。 对于下面代码中的假设,如果${myresult}设置为true,则应使用postgreswebtest.xml,否则应使用mysqlwebtest.xml。 因此,我尝试用以下代码实现这一点Java 如何在其他构建文件目标中导入ant构建文件,java,xml,ant,Java,Xml,Ant,我对使用ant目标编写构建文件知之甚少。 我面临的问题是,我想要一个构建文件,如果满足给定条件,该文件应该导入其他ant构建文件。 对于下面代码中的假设,如果${myresult}设置为true,则应使用postgreswebtest.xml,否则应使用mysqlwebtest.xml。 因此,我尝试用以下代码实现这一点 <?xml version="1.0" encoding="utf-8" ?> <project name="webtest" default="build
<?xml version="1.0" encoding="utf-8" ?>
<project name="webtest" default="build" basedir=".">
<target name="build">
<property name="DBTYPE" value="${arg0}" />
<echo message="${DBTYPE}" />
<condition property="myresult">
<equals arg1="${DBTYPE}" arg2="postgres" />
</condition>
<echo message="${myresult}" />
<if>
<isset property="myresult"/>
<then>
<import file="postgreswebtest.xml" />
</then>
<else>
<import file="mysqlwebtest.xml" />
</else>
</if>
</target>
</project>
但是当我执行这段代码时,会出现以下错误
生成失败:
xml:21:仅允许作为顶级任务导入
有人能帮我解决这个问题吗你可以使用
ant
ant任务,它的作用就像导入提供的构建文件一样。有关更多详细信息,请参阅
使用ant
您还可以提供要运行的默认目标
使用这种方法,它将在“构建”目标中有条件地计算和导入文件
<if>
<isset property="myresult"/>
<then>
<ant antfile="postgreswebtest.xml" />
</then>
<else>
<ant antfile="mysqlwebtest.xml" />
</else>
</if>