gpt4 book ai didi

java - 如何在其他构建文件目标中导入 ant 构建文件

转载 作者:太空宇宙 更新时间:2023-11-04 06:45:03 25 4
gpt4 key购买 nike

我对使用 ant 目标编写构建文件知之甚少。我遇到的问题是我想要一个构建文件,如果满足给定的条件,该文件应该导入其他 ant 构建文件。假设在下面的代码中,如果 ${myresult} 设置为 true,则应使用 postgreswebtest.xml,否则应使用 mysqlwebtest.xml。所以我尝试用以下代码来实现这一点。

<?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>

但是当我执行此代码时出现以下错误。

构建失败:webtest.xml:21:仅允许作为顶级任务导入

有人可以帮我解决一下吗

最佳答案

您可以使用 ant ant 任务来代替,它的作用就像导入提供的构建文件一样。引用:https://ant.apache.org/manual/Tasks/ant.html了解更多详情。

使用ant,您也可以提供默认目标来运行。

通过这种方法,它将有条件地评估并导入“构建”目标中的文件。

<if>
<isset property="myresult"/>
<then>
<ant antfile="postgreswebtest.xml" />
</then>
<else>
<ant antfile="mysqlwebtest.xml" />
</else>
</if>

关于java - 如何在其他构建文件目标中导入 ant 构建文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24114790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com