Maven 错误:';dependencies.dependency.version';必须是有效版本,但不可用

Maven 错误:';dependencies.dependency.version';必须是有效版本,但不可用,maven,Maven,我有一个父POM文件(hawaii banner\POM.xml): 但我得到了一个错误: [ERROR] 'dependencies.dependency.version' for edu.gatech.sakai:uh-gatech-banner-api:jar must be a valid version but is '${uh-gatech.version}'. @ edu.hawaii.sakai:hawaii-banner-api:${hawaii.banner.vers

我有一个父POM文件(
hawaii banner\POM.xml
):

但我得到了一个错误:

[ERROR]     'dependencies.dependency.version' for edu.gatech.sakai:uh-gatech-banner-api:jar must be a valid version but is '${uh-gatech.version}'. @ edu.hawaii.sakai:hawaii-banner-api:${hawaii.banner.version}, C:\hawaii-sakai-2.9.3\sakai-src-2.9.3\hawaii-banner\api\pom.xml, line 26, column 16
我不明白为什么会出现这个错误,因为父POM文件中定义了
uh gatech.version
,而
${uh gatech.version}
以前是
2.5.1
,这很有效


我从与父POM文件相同的目录运行了
mvn clean install
,但它不起作用。

如果maven给出此错误,则表示子模块无法正确识别父模块。我见过这种情况发生在错误的版本中。
你认为你定义了正确的父母,但事实并非如此。正如@jordan所建议的,通过消除孩子与父母的关系,你可以看到它是有效的

您不能将模块的版本定义为在同一pom中定义的变量,maven也不希望这样

虽然你认为它是2.5.0,但它不是

我建议您在项目中查看此关系定义


我希望这能有所帮助。

你能发布你正在运行的完整2个文件和完整命令吗?我更新了我的问题。我删除了你的特定依赖项,并将它们替换为其他公共依赖项,它能够解析依赖项中的变量。我使用了maven 3.2.1供参考。我尝试过的和您展示过的不同之处在于,我没有包括“基本”父pom,只包括这2个,并将第一个pom作为根。
<?xml version="1.0"?>
<project xmlns="http://maven.apache.org/POM/4.0.0">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>edu.hawaii.sakai</groupId>
    <artifactId>hawaii-banner</artifactId>
    <version>2.5.0</version>
    <relativePath>../pom.xml</relativePath>
  </parent>
  <name>University of Hawaii Banner API</name>
  <groupId>edu.hawaii.sakai</groupId>
  <artifactId>hawaii-banner-api</artifactId>
  <version>${hawaii.banner.version}</version>
  <packaging>jar</packaging>
  <properties>
    <deploy.target>shared</deploy.target>
  </properties>
  <dependencies>
    <dependency>
      <groupId>dom4j</groupId>
      <artifactId>dom4j</artifactId>
    </dependency>
    <dependency>
      <groupId>edu.gatech.sakai</groupId>
      <artifactId>uh-gatech-banner-api</artifactId>
      <version>${uh-gatech.version}</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>
</project>
[ERROR]     'dependencies.dependency.version' for edu.gatech.sakai:uh-gatech-banner-api:jar must be a valid version but is '${uh-gatech.version}'. @ edu.hawaii.sakai:hawaii-banner-api:${hawaii.banner.version}, C:\hawaii-sakai-2.9.3\sakai-src-2.9.3\hawaii-banner\api\pom.xml, line 26, column 16