gpt4 book ai didi

java - 使用 maven 下载每个 Spring 库

转载 作者:搜寻专家 更新时间:2023-11-01 02:29:49 24 4
gpt4 key购买 nike

我必须在我的 pom.xml 中一一定义每个 spring 库,还是有某种 multipack?

我发现,比如我让maven下载spring-core的时候,它也会下载spring-asm。

是否有更多这样的包或类似的快捷方式......?

最佳答案

此处可能存在重复:Maven - include all submodules of a pom as dependencies in another module

简短的回答是否定的。长答案是,即使你可以,也不是一个好主意。

Spring 曾经提供一个包 groupId=org.springframework artifactId=springgroupId=org.springframework artifactId=spring-all。由于各种原因(我找不到链接),Spring 认为这是一种不好的做法,我倾向于同意。

最好的办法是,如果你真的想包含所有的 spring 子模块,那就是使用父 poms 和一个属性来表示版本......例如:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.snaphop</groupId>
<artifactId>snaphop-parent</artifactId>
<version>0.0.53-SNAPSHOT</version>
<name>snaphop-parent</name>
<packaging>pom</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.6</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring.version>3.1.0.RELEASE</spring.version>
</properties>

..skip some lines

<dependencyManagement>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>

您必须在此处阅读有关父 poms 的信息:http://maven.apache.org/guides/introduction/introduction-to-the-pom.html#Project_Inheritance_vs_Project_Aggregation (或只是谷歌)。

另一种选择是使用所有 spring 依赖项创建您自己的虚拟项目并依赖它。

话虽如此,我真的建议您明确选择您的依赖项,因为它确实有助于将来模块化/解耦/重构您的项目。

关于java - 使用 maven 下载每个 Spring 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12320979/

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