2017-10-25 14 views
0

私は "general-lib"と呼ばれる依存関係を持ち、3つのチームによって修正されて使用されます。pom 3つのアプリケーションに共通の依存関係を使用するSpring-mvc

  • Admin、Child-ABCおよびChild-XYZは、これら3つのプロジェクトです。これら3つのアプリケーション は同じサーバーにデプロイされています。
  • 子XYZと子ABCが、 アドミンアプリケーションと頻繁に通信しています。
  • general-libのバージョンを変更した場合、私は 子供用のアプリも管理用のアプリが使用するものと同じバージョンを使用する必要があります。

最後に、特定の依存バージョンはスーパーアプリケーションで管理する必要があります。

これは何でもできますか?私がもっと説明しなければならないかどうか教えてください。

答えて

1

あなたは一般的な成果物のdependecyManagementを移動して、あなたの3つのプロジェクト内の親として、それを宣言することができる場所(材料の手形)BOMを定義することができます。 BOMの詳細については

<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>your.group.id</groupId> 
    <artifactId>whatever-BOM</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>pom</packaging> 

    <properties> 
     <general-lib.version>1.0.2</general-lib.version> 
    </properties> 

    <dependencyManagement> 
     <dependencies> 
      <dependency> 
       <groupId>your.groupid</groupId> 
       <artifactId>general-lib</artifactId> 
       <version>${general-lib.version}</version> 
      </dependency> 
     </dependencies> 
    </dependencyManagement> 
</project> 

、あなたはそれが春に近い関連しても、それは詳細な方法のBOMは何であり、どのように説明します記事Spring with Maven BOMを読むことができます:これは、BOMの一例ですそれらを使用する。

これらの3つのプロジェクトを上位プロジェクトのモジュールとして定義し、この中でdependencyManagementを管理することが可能です。

<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>your.group.id</groupId> 
    <artifactId>whatever</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <modules> 
     <module>Admin</module> 
     <module>Child-ABC</module> 
     <module>Child-XYZ</module> 
    </modules> 
    <packaging>pom</packaging> 

    <properties> 
     <general-lib.version>1.0.2</general-lib.version> 
    </properties> 

    <dependencyManagement> 
     <dependencies> 
      <dependency> 
       <groupId>your.groupid</groupId> 
       <artifactId>general-lib</artifactId> 
       <version>${general-lib.version}</version> 
      </dependency> 
     </dependencies> 
    </dependencyManagement> 
</project> 
関連する問題