我正在开发一个几乎没有模块的spring boot项目。我有入口点模块有主类,其他模块依赖我在入口点模块pom.xml中添加。当我给命令mvn clean install时,它会抛出一个错误,说“
无法在项目api上执行目标:无法解析依赖项 对于项目com.nikesh:api:jar:1.0.0:以下工件可以 无法解决:com.nikesh:lib:jar:1.0.0,com.nikesh:repo:jar:1.0.0, com.nikesh:entity:jar:1.0.0,com.nikesh:dto:jar:1.0.0, com.nikesh:service:jar:1.0.0,com.nikesh:common:jar:1.0.0:失败 在https://repo.maven.apache.org/maven2中找到com.nikesh:lib:jar:1.0.0 被缓存在本地存储库中,不会重新尝试解析 直到中心的更新间隔已经过去或强制更新 -`
这是我的pom.xml
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.nikesh</groupId>
<artifactId>api</artifactId>
<version>1.0.0</version>
<description>api module</description>
<packaging>jar</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.6.RELEASE</version>
</parent>
<properties>
<java.version>1.8</java.version>
<start-class>com.nikesh.api.MultiModuleApp</start-class>
</properties>
<dependencies>
<dependency>
<groupId>com.nikesh</groupId>
<artifactId>lib</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.nikesh</groupId>
<artifactId>repo</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.nikesh</groupId>
<artifactId>entity</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.nikesh</groupId>
<artifactId>dto</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.nikesh</groupId>
<artifactId>service</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.nikesh</groupId>
<artifactId>common</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
请帮我解决这个问题。
答案 0 :(得分:1)
您需要确保在主模块构建之前以正确的顺序确保构建所有子模块。
使用多个模块的指南
反应堆
Maven中处理多模块项目的机制称为reactor。 Maven核心的这一部分执行以下操作:
由于多模块构建中的模块可以彼此依赖,因此反应堆必须以保证在需要之前构建任何项目的方式对所有项目进行排序。
在对项目进行排序时,以下关系得到遵守:
请注意,仅使用“实例化”引用 - dependencyManagement
和pluginManagement
元素不会导致更改reactor排序顺序