1

次の春の依存関係を持つ春の MVC Web アプリケーションがあります。

spring-aop-3.2.1.RELEASE
spring-beans-3.2.1.RELEASE
spring-context-support-3.2.1.RELEASE
spring-context-3.2.1.RELEASE
spring-core-3.2.1.RELEASE
spring-expression-3.2.1.RELEASE
spring-jdbc-3.2.1.RELEASE
spring-jms-3.2.1.RELEASE
spring-orm-3.2.1.RELEASE
spring-test-3.2.1.RELEASE
spring-tx-3.2.1.RELEASE
spring-web-3.2.1.RELEASE
spring-webmvc-3.2.1.RELEASE
spring-aspects-3.2.1.RELEASE

spring-spring-security-core-3.2.0.RELEASE
spring-security-web-3.2.0.RELEASE
spring-security-config-3.2.0.RELEASE
spring-security-taglibs-3.2.0.RELEASE

私の質問は、mvn clean install を使用してビルドすると、spring-beans-3.2.10.RELEASE をダウンロードしようとすることです。依存関係の 1 つがそれをドラッグしていると想定していますが、どれかはわかりません。

どんな助けでも大歓迎です。前もって感謝します。

4

2 に答える 2

2

<dependencyManagement>POMのセクションで依存関係を定義できます。で定義するバージョン<dependencyManagement>は、最上位<dependencies>セクションで言及した依存関係だけでなく、推移的な依存関係にも適用されます。

例えば:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>3.2.1.RELEASE</version>
        </dependency>
        ...
    </dependencies>
</dependencyManagement>

<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
    </dependency>
    ...
</dependencies>

これらのフラグメントは、Maven が version のみを使用することを確認し3.2.1.RELEASEます。(2 番目のセクションには存在<version>しないことに注意してください。)

その依存関係がどこから来ているのかを知りたい場合、および Eclipse を使用している場合は、 を開きpom.xml、タブを見てくださいDependency Hierarchy。必要に応じて、そこで依存関係をダブルクリックできます。依存関係自体が開き、pom.xml推移的な依存関係をさらに調査できます。

于 2014-07-16T12:37:03.250 に答える
0

次の方法で問題を解決できます。

    <dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-framework-bom</artifactId>
            <version>4.1.0.BUILD-SNAPSHOT</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
    </dependency>
<dependencies>

単一のバージョン番号を気にせずに依存関係を管理できます。このようにして、すべての春の依存関係は同じ 4.1.0.BUILD-SNAPSHOT バージョンを持つことになります

于 2014-07-16T13:00:46.190 に答える