複数の子プロジェクトを持つ親プロジェクトを使用して、Maven でモジュラー プロジェクトをセットアップしました。
親のpom.xml
は次のようになります -
<project ...>
<modelVersion>4.0.0</modelVersion>
<groupId>com.company</groupId>
<artifactId>parent-app</artifactId>
<version>${parent-application.version}</version>
<packaging>pom</packaging>
<dependencies>...</dependencies>
<properties>
<parent-application.version>1.0</parent-application.version>
</properties>
<modules>
<module>parent-model</module>
<module>parent-masters</module>
<module>parent-web</module>
</modules>
</project>
子プロジェクトのpom.xml
は次のようになります -
<project ...>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.company</groupId>
<artifactId>parent-app</artifactId>
<version>${parent-application.version}</version>
</parent>
<packaging>jar</packaging>
<artifactId>child-model</artifactId>
<dependencies>...</dependencies>
</project>
ここで、子プロジェクトの 1 つを別の無関係なプロジェクトのライブラリとして使用する必要があります。新しいプロジェクトの pom は以下のようになります。
<project ...>
<modelVersion>4.0.0</modelVersion>
<groupId>com.company</groupId>
<artifactId>unrelated-app</artifactId>
<version>1.0</version>
<dependencies>
<dependency>
<groupId>com.company</groupId>
<artifactId>child-model</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
</project>
以下のエラーが発生し続けます
Illegal character in path at index 57: http://repo.maven.apache.org/maven2/com/company/parent-app/${parent-application.version}/parent-app-${parent-application.version}.pom
理由は、child-model の version 属性を prent-app から継承しているようです。
この問題を克服する方法はありますか? または、それぞれの pom.xml で各子モジュールのバージョンを提供する必要があり、共通の親から継承することはできませんか?
前もって感謝します。