我有如下概述的多模块 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 样本
“项目”父pom:
<modelVersion>4.0.0</modelVersion>
<groupId>com.project</groupId>
<artifactId>project</artifactId>
<version>${project.version}</version>
<packaging>pom</packaging>
“project_ejb”pom:
<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>
项目2父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>
我已将 project_ejb 模块作为依赖项添加到 project2_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 已经为我提供时不使用此功能。
我将不胜感激任何帮助。提前致谢。