次のように概説されたマルチモジュールの ejb3-web アプリケーションがあります。
project
- pom.xml
project_ear
- pom.xml
project_ejb
- pom.xml
project_web
- pom.xml
そして、以前のもの(project_ejb)が含まれている別の同様のプロジェクトがあります。
project2
- pom.xml
project2_ear
- pom.xml
project2_ejb
- pom.xml (here, project_ejb is gonna be included as a dependency)
project2_web
- pom.xml
ご覧のとおり、似たような構造をしています。とにかく、私が直面している問題は、${project.version} を使用したいときに、project2 をクリーンアップまたはビルドできないことです。
ここにプロジェクトのpomサンプルがあります
「プロジェクト」親ポン:
<modelVersion>4.0.0</modelVersion>
<groupId>com.project</groupId>
<artifactId>project</artifactId>
<version>${project.version}</version>
<packaging>pom</packaging>
"project_ejb" ポム:
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.project</groupId>
<artifactId>project</artifactId>
<version>${project.version}</version>
<relativePath>../project/pom.xml</relativePath>
</parent>
<artifactId>projectEjb</artifactId>
<packaging>ejb</packaging>
project2 親 pom:
<modelVersion>4.0.0</modelVersion>
<groupId>com.projectdata</groupId>
<artifactId>projectdata</artifactId>
<version>${project.version}</version>
<packaging>pom</packaging>
project2_ejb pom
<modelVersion>4.0.0</modelVersion>
<artifactId>projectdataEjb</artifactId>
<packaging>ejb</packaging>
<parent>
<groupId>com.projectdata</groupId>
<artifactId>projectdata</artifactId>
<version>${project.version}</version>
<relativePath>../projectdata/pom.xml</relativePath>
</parent>
そして、依存関係として project2_ejb に project_ejb モジュールを追加しました。
<dependency>
<groupId>com.project</groupId>
<artifactId>projectEjb</artifactId>
<scope>provided</scope>
<type>ejb</type>
</dependency>
全体として、プロジェクトをビルドすると、すべて問題ありません。ただし、project2 をビルドしようとすると、maven コンソールに問題が発生し、次のように表示されます。
IllegalArgumentException: Illegal character in path at index 79: http://abcsvn01.host.myproject.net/maven/my/inhouse/com/project/project/${project.version}/project-${project.version}.pom -> [Help 1]
${project.version} を削除して定数を記述すると、すべて問題ないことに注意してください。ただし、maven3 が既に提供しているのに、なぜこの機能を使用しないのでしょうか。
助けていただければ幸いです。前もって感謝します。