2017-02-08 16 views
0

私はプロジェクトに新しいmavenモジュールを追加しています。それはスプリングブートを使用します。古いモジュールはそれを使用していません。ですから、私の新しいモジュールは親プロジェクトの子でなければなりませんが、同時にspring-boot-starter-parentの子でなければなりません。私のプロジェクトの子供を2人の異なる親にするにはどうすればいいですか?2つの異なる親からmavenモジュールを作成するにはどうすればよいですか?

私の現在の親

<parent> 
    <groupId>com.somegroup</groupId> 
    <artifactId>Parent</artifactId> 
    <version>1.0</version> 
</parent> 

春ブート親

<parent> 
    <!-- Your own application should inherit from spring-boot-starter-parent --> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.5.1.RELEASE</version> 
</parent> 
+0

Mavenモジュールの1つの図を通過できますか?あなたは何を持っているのですか? –

答えて

2

Mavenプロジェクトには親が1つしかないので、別のアプローチを使用できます。継承の代わりに、spring-boot-dependenciesを依存関係管理セクションにインポートし、元の親を保持することができます。

<parent> 
    <groupId>com.somegroup</groupId> 
    <artifactId>Parent</artifactId> 
    <version>1.0</version> 
</parent> 

<dependencyManagement> 
    <dependencies> 
     <dependency> 
      <!-- Import dependency management from Spring Boot --> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-dependencies</artifactId> 
      <version>1.5.1.RELEASE</version> 
      <type>pom</type> 
      <scope>import</scope> 
     </dependency> 
    </dependencies> 
</dependencyManagement> 

あなたは春ブーツが提供する依存関係のバージョンを変更する方法についての基本的the official documentation内の制約、について読むことができます。

+0

これは解決策です。実際にはいくつかの制約がありますが、私はこれを受け入れます。ありがとう! –

0

あなたは春ブートおよび独自のモジュールの間に位置する別の親を定義する必要があります、そして例は次のとおりです。

<?xml version="1.0" encoding="UTF-8"?> 
<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> 

    <parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>1.4.3.RELEASE</version> 
    </parent> 

    <groupId>com.greg</groupId> 
    <artifactId>myparent</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>pom</packaging> 

    <modules> 
     <module>module1</module> 
     <module>module2</module> 
    </modules> 

</project> 
+0

子モジュールでのみ解決できないのですか? –

+0

あなたの子供が単一モジュールプロジェクトの場合はyesです。あなたが現在持っている親には何がありますか? –

+0

私は親に8人以上の子供を持っています –

関連する問題