gpt4 book ai didi

java - gradle如何定义jar文件的依赖jar文件?

转载 作者:行者123 更新时间:2023-12-01 09:53:21 25 4
gpt4 key购买 nike

dependencies {
sources group: 'org.glassfish.jersey.media', name: 'jersey-media-moxy', version: '2.22.2', classifier: 'sources'
}

当我通过 gradle 运行上述依赖项时,它会下载 jar 文件和相关的其他 jar 文件。

我的问题是:gradle如何定义这个jar需要哪些jar?

最佳答案

它使用您的项目中定义的依赖项解析策略之一。您可以在这里找到更多详细信息https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.ResolutionStrategy.html

默认情况下,它通过遍历 pom 文件使用标准 Maven 依赖解析策略

例如,在 org.glassfish.jersey.media 的情况下,它从 here 获取 POM 文件。 。此 POM 文件包含以下依赖项部分。 gradle加载这个文件后,它会依次加载相应的POM文件并查找依赖项的依赖关系,直到到达不依赖任何东西的叶子包。当您的依赖关系图不是完美的树并且两个不同的包具有相同的依赖关系时,事情可能会变得更加复杂。如果公共(public)依赖项的版本相同或者两个依赖包都可以使用公共(public)版本,这些通常可以解决。否则,您会陷入冲突,并使用上述策略之一来解决它。

  <dependencies>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-common</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.ext</groupId>
<artifactId>jersey-entity-filtering</artifactId>
<version>${project.version}</version>
</dependency>

<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
</dependency>

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

关于java - gradle如何定义jar文件的依赖jar文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37445386/

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