Maven “为什么?”;mvn依赖关系:树“;列出一个版本,但是;“mvn清洁安装”;是否尝试下载其他版本?

Maven “为什么?”;mvn依赖关系:树“;列出一个版本,但是;“mvn清洁安装”;是否尝试下载其他版本?,maven,dependencies,maven-assembly-plugin,Maven,Dependencies,Maven Assembly Plugin,我有一个Maven(3.2.5)项目,由于缺少依赖项而失败。mvn清洁安装的相关部分输出: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-assembly-plugin:2.2-beta-5:single (package-jar-with-dependencies) on project splitter: Failed to create assembly: Failed to resolve dependenci

我有一个Maven(3.2.5)项目,由于缺少依赖项而失败。
mvn清洁安装的相关部分
输出:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-assembly-plugin:2.2-beta-5:single (package-jar-with-dependencies) on project splitter: Failed to create assembly: Failed to resolve dependencies for project: groupId1:splitter:jar:2.12.3: Missing:
[ERROR] ----------
[ERROR] 1) groupId2:location-service:jar:2.12.3
但是,
mvn depdency:tree
声称
2.12.3
版本不是必需的:

[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ splitter ---
[INFO] groupId1:splitter:jar:2.12.3
[INFO] +- groupId2:location-service:jar:2.12.1:compile
没有列出其他
位置服务
依赖项

pom.xml
显式调用了
2.12.1
依赖项:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd>
    <parent>
        <groupId>groupId2</groupId>
        <artifactId>artifactId</artifactId>
        <version>2.12.0</version>
    </parent>
    ...
    <groupId>groupId1</groupId>
    <artifactId>splitter</artifactId>
    <packaging>jar</packaging>
    <version>2.12.3</version>
    <name>splitter</name>
    <url>http://maven.apache.org</url>
    ...
    <dependencies>
        <dependency>
            <groupId>groupId2</groupId>
            <artifactId>location-service</artifactId>
            <version>2.12.1</version>
        </dependency>
        ...
对不起,我在撰写时找到了问题的答案。但是,如果其他人遇到类似的问题,那么继续发布问题和答案就足够复杂了

问题是,我的
~/.m2/repository
目录中的父
pom.xml
位置服务
依赖项设置为
${project.version}
。显然,尽管模块
pom.xml
中存在明确的依赖关系,但这足以让
maven assembly插件下载它。这是maven assembly plugin:2.2-beta-5
中的一个bug。模块和父级
pom.xml
都没有指定
maven程序集插件的显式版本。我一点也不知道maven为什么选择下载
2.2-beta-5
版本,因为它甚至都不接近最新版本<代码>mvn依赖项:tree-Dverbose
甚至没有提到
maven汇编插件
。明确使用
maven汇编插件:2.5.5
解决了这个问题