Spring模块作为maven依赖项引用

时间:2014-04-16 20:57:35

标签: spring maven web-applications spring-modules

我正在引用一个现有的spring项目,该项目在Spring框架的不同组件上有许多maven依赖项。

我喜欢这样一个事实:Spring以这种方式公开他们的模块,这样你就可以使用你需要的东西并丢弃你不需要的东西。

到目前为止,我在pom.xml文件中看到过这种情况:

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-oxm</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${spring.version}</version>
    </dependency>

我还查看了Spring网站,并看到模块很好地组织到不同的项目中。但是,我在这里没有看到确切的1:1关系。例如,正如您在此pom.xml文件中看到的那样,我对spring-core有所依赖。好吧,如果我想将此映射回文档,以便我可以进一步阅读,我将如何在此处执行:http://projects.spring.io?看起来项目的组织方式是:它们列出了一个项目,以及一个可以添加到项目中的快速启动maven依赖项。那么,春天的核心在哪里?

似乎与网站上的特定项目没有确切的关系。我在这里列出的依赖项是它们独立的依赖项吗?或者是一些实际的传递依赖,例如:spring-context实际上是spring-core的依赖?

是否有任何文档可以轻松地将maven依赖模块映射回Spring网站上的确切项目文档?

1 个答案:

答案 0 :(得分:1)

pom.xml本身就是一种文档形式,也用于解决依赖关系。

转到命令行到pom.xml所在的目录,然后键入以下命令:

mvn dependency:tree

并打印出一个依赖关系树,其中包含您在问题中提到的所有信息,即什么是顶级依赖项,什么是传递依赖项等。

以下是您发布的依赖关系的示例:

[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ test-project ---
[INFO] org.test.project:test-project:war:0.1-SNAPSHOT
[INFO] +- org.springframework:spring-core:jar:3.2.4.RELEASE:compile
[INFO] |  \- commons-logging:commons-logging:jar:1.1.1:compile
[INFO] +- org.springframework:spring-web:jar:3.2.4.RELEASE:compile
[INFO] |  +- aopalliance:aopalliance:jar:1.0:compile
[INFO] |  +- org.springframework:spring-aop:jar:3.2.4.RELEASE:compile
[INFO] |  \- org.springframework:spring-beans:jar:3.2.4.RELEASE:compile
[INFO] +- org.springframework:spring-webmvc:jar:3.2.4.RELEASE:compile
[INFO] |  \- org.springframework:spring-expression:jar:3.2.4.RELEASE:compile
[INFO] +- org.springframework:spring-oxm:jar:3.2.4.RELEASE:compile
[INFO] \- org.springframework:spring-context:jar:3.2.4.RELEASE:compile