Spring 3.0.5.RELEASE依赖项信息

Ara*_*ram 2 java migration spring

我们正在从Spring 2.0.8迁移到3.0.5版本的Spring.我们使用maven但我们不希望依赖它来为我们提取所有依赖项.感谢我能否得到以下问题的答案

1)我在哪里可以下载包含spring的所有依赖项的zip文件?虽然它可用于3.0.2,但我发现这不适用于3.0.5 RELEASE下载

2)为什么依赖工件名称包含"com.springsource"前缀,即使jar来自第三方供应商(例如javax.transaction来自Oracle)

<dependency>
   <groupId>javax.transaction</groupId>
   <artifactId>com.springsource.javax.transaction</artifactId>
   <version>1.1.0</version>
   <scope>test</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)

3)是否有一个文本文件,其中spring列出了所有外部依赖项和精确版本信息.

4)Spring以某种方式定制的外部开源jar文件.例如In 2.x spring自定义cglib并将其命名为cglib-nodep

5)spring正在使用哪个xml解析器实现版本?

注意:我已经在他们的论坛上问了这个问题,但到目前为止还没有得到答复.所以在这里张贴,看看我是否可以从SO获得建议

Umu*_*kan 5

你为什么不想依赖maven为你拉出所有的依赖?这是我们使用/爱Maven的原因之一,不是吗?

你的问题的答案;

  1. 我不认为有一个,但是猜测网址并不是那么难.只需编写一个简单的脚本即可为您下载.
  2. 这是因为这些是相同第三方库的osgified版本.这就是为什么他们使用不同的artifactId.他们还维护一个Enterprise Bundle Repository来为它们提供服务.简而言之,它们都是OSGI捆绑包,这也是版本不同的原因.
  3. 您可以检查工件的pom文件.BTW他们不会改变osgified库的版本,你可以猜测.如果是com.springsource.org.apache.commons.lang:coommons-lang:2.4.0,那么它实际上是osgified版本的commons-lang:commons-lang:2.4.
  4. 它不是由spring完成的,它只是没有依赖关系的cglib.如果您不希望依赖项可以为工件传递,则可以使用cglib-nodep.
  5. 它们不依赖于特定的实现,您可以安全地使用不同的实现.他们对不同的XML解析器有广泛的支持,请查看文档.