4

すべてのSpringライブラリを1つずつ定義する必要pom.xmlがありますか、それとも何らかのマルチパックがありますか?

たとえば、mavenにspring-coreをダウンロードさせると、spring-asmもダウンロードされることがわかりました。

そのようなパックや同様のショートカットは他にもありますか....?

4

1 に答える 1

5

ここに重複の可能性があります:Maven-pomのすべてのサブモジュールを別のモジュールの依存関係として含めます

簡単な答えはノーです。長い答えは、たとえあなたがそれができたとしても、それは良い考えではないだろうということです。

春はバンドルgroupId=org.springframework artifactId=springとを提供するために使用されますgroupId=org.springframework artifactId=spring-all。さまざまな理由で(リンクが見つかりません)Springはこれは悪い習慣であると判断し、同意する傾向があります。

本当にすべてのSpringサブモジュールを含めたい場合は、親pomとプロパティを使用してバージョンを示すのが最善の方法です...例:

<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>

親pomについては、http://maven.apache.org/guides/introduction/introduction-to-the-pom.html#Project_Inheritance_vs_Project_Aggregation(または単にgoogle)で読む必要があります。

もう1つのオプションは、すべてのSpring依存関係を使用して独自のダミープロジェクトを作成し、それに依存することです。

そうは言っても、将来的にプロジェクトをモジュール化/分離/リファクタリングするのに本当に役立つので、依存関係を明示的に選択することを強くお勧めします。

于 2012-09-07T15:38:31.873 に答える