0

我做了一个 Gradle 构建,当使用ivy-publish插件时,我使用项目的配置和依赖项生成 jars 和 ivy.xml描述符,但是这个文件的目的是什么?为什么使用我的构建的运行时应用程序需要知道要提供哪些 jar 或..??

4

1 回答 1

3

ivy.xml 文件是模块的元数据文件。

一个 ivy 文件分为以下几个部分:

<publications>
An ivy module can publish multiple files. The purpose of this section is to 
list them
</publications>

<configurations>
This section describes the various logical file groups that can exist in your 
module
</configurations>

<dependencies>
This section describes the dependencies that might exist on other modules.
One can create mappings between different configurations here as well.
</dependencies>

至少您需要出版物部分。它列出了可用的文件。因此,如果我请求“moduleA”,常春藤客户端就会知道要下载哪些文件。

配置是可选的,最初是一个难以掌握的概念,但它们允许您控制已发布文件的子集以供下载。例如,您只需要二进制文件或源包。

最后依赖。这使得 ivy 客户端不仅可以下载 ModuleA 的文件,还可以下载属于 ModuleA 所依赖的其他模块的文件。通常,这些是编译代码可能需要的第三方库,或者需要在运行时额外位于您的类路径中。常春藤可以自动为你做这件事。(同样,这些类路径的内容可以使用配置进行自定义:在“运行时”或“测试”代码时需要“编译”的 jars)

于 2013-05-23T19:14:56.803 回答