【发布时间】:2017-12-18 08:36:48
【问题描述】:
我是 Maven 新手,所以我想知道为什么 Maven 会实际下载父级。
这是我的示例目录:
├── hazriq-module
│ ├── document-generator
│ | ├── src folder
│ | └── pom.xml (document-generator)
│ └── pom.xml (hazriq-module)
└── pom.xml (hazriq-parent)
我的 hazriq-parent .pom 文件:
<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">
<modelVersion>4.0.0</modelVersion>
<groupId>com.hazriq</groupId>
<artifactId>hazriq-parent</artifactId>
<version>${hazriq.verion}</version>
<packaging>pom</packaging>
<properties>
<hazriq.verion>1.0.0</hazriq.verion>
</properties>
<modules>
<module>hazriq-module</module>
</modules>
</project>
我的 hazriq-module .pom 文件:
<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">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.hazriq</groupId>
<artifactId>hazriq-parent</artifactId>
<version>1.0.0</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>hazriq-module</artifactId>
<name>hazriq-module</name>
<packaging>pom</packaging>
<version>${hazriq.verion}</version>
<modules>
<module>document-generator</module>
</modules>
</project>
我的文档生成器 .pom 文件:
<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">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.hazriq</groupId>
<artifactId>hazriq-module</artifactId>
<version>1.0.0</version>
<relativePath>../pom.xml</relativePath>
</parent>
<groupId>com.hazriq.hazriq-module</groupId>
<artifactId>document-generator</artifactId>
<dependencies>
...
</dependencies>
当我尝试运行mvn install:
$ mvn install
[INFO] Scanning for projects...
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
[ERROR] The project com.hazriq:hazriq-module:${hazriq.verion} (C:\development\hzrqmvn\hazriq-module\pom.xml) has 1 error
[ERROR] Non-resolvable parent POM: Failure to find com.hazriq:hazriq-parent:pom:1.0.0 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted
until the update interval of central has elapsed or updates are forced and 'parent.relativePath' points at wrong local POM @ line 3, column 10 -> [Help 2]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
[ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/UnresolvableModelException
我的问题是:
1. Maven为什么会去尝试下载hazriq-parent?来自repo.maven.apache.org? (参考上面我mvn clean install的输出。
2. 如何成功构建我的项目?
【问题讨论】: