2016-12-12 9 views
0

は、私はそれが のpom.xml <parent>と<properies>

<properties> 
    <springboot.version>1.4.1.RELEASE</springboot.version> 
</properties> 

<parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>${springboot.version}</version> 
    <relativePath/> 
</parent> 

を動作を停止し <parent>設定使用特性を作るときに、私は <version>1.4.1.RELEASE</version>を設定したときにそれが正常に動作します。ここでの問題は何ですか?

+1

質問にエラーメッセージを追加してください – JimHawkins

答えて

1

子モジュールの<parent>タグ内の親バージョンのプロパティは使用できません。

Mavenには、プロパティが親から子に継承されるという特徴があります。これを達成するために、mavenは親を最初に解決しなければならず、次に継承されたかどうかが解決されます。つまり、Mavenは<parent>タグ内のプロパティを解決しません。

ユースケースで意味がある場合は、子の座標内で、バージョンとgroupIdを省略できます。これらの情報は親のPOMから継承されますが、子でオーバーライドすることができます。

<project> 
    <parent> 
     <groupId>your.company</groupId> 
     <artifactId>companyParent</artifactId> 
     <version>1.0.4</version> 
    </parent> 

    <!-- child coordinates --> 
    <!-- version and groupId are inherited --> 
    <artifactId>childA</artifactId> 
    .... 
</project> 
関連する問題