Maven 错误:';dependencies.dependency.version';必须是有效版本,但不可用
我有一个父POM文件(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
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