xml – 链接Ant构建文件
我有一个客户端和一个服务器,我正在使用Ant构建.客户端在构建之前依赖于首先构建的服务器.我有所有必需的库,除了客户端中捆绑的服务器ear文件.
我创建了3个ant文件 我遇到的问题是basedir变量从构建文件更改为构建文件.因此,如果我从 如何在Ant脚本中多次更改basedir变量? 另外,看看这些构建文件,您是否看到了更好的方法来做我正在尝试做的事情?现在,我想我必须在同一个位置同时拥有客户端战争和服务器耳朵,然后才能制作最终的捆绑耳朵.我对此的想法可能有缺陷,因为这些脚本似乎不必要地复杂. 解决方法
ant documentation for< import>任务为您提供有关如何完成此任务的信息.
根据导入的文件解析文件 假设名为imports.xml的主构建文件导入位于文件系统任何位置的构建文件imported.xml,并且imported.xml从imported.properties中读取一组属性: <!-- importing.xml --> <project name="importing" basedir="." default="..."> <import file="${path_to_imported}/imported.xml"/> </project> <!-- imported.xml --> <project name="imported" basedir="." default="..."> <property file="imported.properties"/> </project> 但是,此片段将针对imported.xml的basedir解析imported.properties,因为Ant会忽略imported.xml的basedir.使用imported.properties的正确方法是: <!-- imported.xml --> <project name="imported" basedir="." default="..."> <dirname property="imported.basedir" file="${ant.file.imported}"/> <property file="${imported.basedir}/imported.properties"/> </project> 如上所述,${ant.file.imported}存储构建脚本的路径,该脚本定义了名为imported的项目(简而言之,它存储了imported.xml的路径)和< dirname>获取其目录.此技术还允许将imported.xml用作独立文件(不在其他项目中导入). 基本上,您不能真正使用${basedir}变量,也不能使用项目标记中的basedir =“./../ GrahamsProjClient”属性,而是可以构造它: <!-- build-client.xml --> <project name="GPClient" default="dist" > <dirname property="client.root.dir" file="${ant.file.GPClient}"/> <property name="real.basedir" value="${client.root.dir}/../GrahamsProjClient"/> <!-- Then from then on,replace ${basedir} with ${real.basedir} --> ... </project> 您可以对build-server.xml执行相同的操作,唯一需要注意的是项目名称在< dirname />的${ant.file.[project name]}文件属性中. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |