为什么Spring是在两个工件名称系统下发布的?
例如,弹簧芯(通常是?)用作
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.1.1.RELEASE</version>
</dependency>
(见:http://mvnrepository.com/artifact/org.springframework/spring-core/3.1.1.RELEASE)
但也发布为
<dependency>
<groupId>org.springframework</groupId>
<artifactId>org.springframework.core</artifactId>
<version>3.1.1.RELEASE</version>
</dependency>
问题:
为什么他们发布相同的(?)jar作为两个不同的工件?
我应该使用哪一个?
为什么我可以找到maven中央存储库中的第一个jar,而不是第二个jar?我可以在哪个存储库中找到第二个jar?
答案 0 :(得分:3)
第一个是标准包装,第二个是符合OSGI的版本。
答案 1 :(得分:1)
在SpringSource博客上查看Obtaining Spring 3 Artifacts with Maven。它应该回答你的所有问题:
通常,Spring会将其工件发布到两个不同的位置:
Maven Central,这是Maven查询的默认存储库,不需要任何特殊配置即可使用
- 醇>
The Enterprise Bundle Repository(EBR),由SpringSource运行,并托管所有与Spring集成的库
因此,在使用Maven获取Spring时,您需要决定的第一件事就是从哪个地方获取它。通常,如果您关心OSGi,请使用EBR,因为它包含所有Spring依赖项的OSGi兼容工件,例如Hibernate和Freemarker。如果OSGi对你没关系,那么这两个地方都有效,尽管它们之间有一些利弊。一般来说,为您的项目挑选一个地方或另一个地方;不要混合它们。这一点尤为重要,因为EBR工件使用的命名约定与Maven Central工件不同。
......