gpt4 book ai didi

ant - 如何在 ivy.xml 中包含文件?

转载 作者:行者123 更新时间:2023-12-04 13:45:19 25 4
gpt4 key购买 nike

我有一个相当大的 ivy.xml 包含许多配置,这些配置对于许多项目都是相同的。

我想把这个大的重复部分分解成一个通用的包含文件。不知何故,我找不到任何描述可以做到这一点的文档。

有谁知道这是否可行?

编辑:经过进一步思考,我认为这是不可行的。 Ivy 文件是一个有凝聚力的单元,不应包含基于文件的引用,仅包含对其他 Ivy 模块的引用......

最佳答案

您可以创建一个 ivy 元模块,它依赖于所有这些公共(public)包,然后让所有其他项目通过传递依赖解析公共(public)库:

    <?xml version="1.0"?>
<ivy-module version="2.0">
<info organisation="com.example" module="common-libs"/>
<configurations>
<conf name="runtime" transitive="true" visibility="public" />
<conf name="master" transitive="true" visibility="public" />
<conf name="compile" transitive="true" visibility="public" />
<conf name="default" transitive="true" visibility="public" extends="master" />
</configurations>
<dependencies>
<dependency org="oracle" name="ojdbc14_g" rev="10.2.0.3"
conf="compile->compile(*),master(*);runtime->runtime(*);master->master(*)"/>
<dependency org="tomcat" name="servlet-api" rev="6.0.16"
conf="compile->compile(*),master(*);runtime->runtime(*);master->master(*)"/>
<dependency org="junit" name="junit" rev="4.3"
conf="compile->compile(*),master(*);runtime->runtime(*);master->master(*)"/>
</dependencies>
</ivy-module>

对于一个典型的项目:
<?xml version="1.0"?>
<ivy-module version="2.0">
<info organisation="com.example" module="myproject"/>
<configurations>
<conf name="runtime" transitive="true" visibility="public" />
<conf name="master" transitive="true" visibility="public" extends="runtime"/>
<conf name="compile" transitive="true" visibility="public" />
<conf name="default" transitive="true" visibility="public" extends="master" />
</configurations>
<dependencies>
<dependency org="com.example" name="common-libs" rev="latest.release"
conf="compile->compile(*),master(*);runtime->runtime(*);master->master(*)"/>
</dependencies>
</ivy-module>

在这里,我使用来自 Maven 解析器的 POM->Ivy 翻译的传统配置命名约定,尽管您可以以任何对您有意义的方式映射配置名称。我倾向于使用 ivy:install 任务将 Maven 模块复制到我们的 Ivy 存储库中,所以我大部分使用默认的 ivy.xmls。如果您使用的是 IvyRoundup,您主要想传递地映射“默认”配置。

关于ant - 如何在 ivy.xml 中包含文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1760928/

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