Java Maven clean安装无法在项目上执行目标

Java Maven clean安装无法在项目上执行目标,java,maven,spring-boot,Java,Maven,Spring Boot,我正在开发一个SpringBoot项目,它几乎没有模块。我有一个入口点模块,它有主类,其他模块依赖于我在入口点模块pom.xml中添加的CI。当我发出命令mvn clean install时,它抛出一个错误` 无法在项目api上执行目标:无法解析依赖项 对于project 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

我正在开发一个SpringBoot项目,它几乎没有模块。我有一个入口点模块,它有主类,其他模块依赖于我在入口点模块pom.xml中添加的CI。当我发出命令mvn clean install时,它抛出一个错误`

无法在项目api上执行目标:无法解析依赖项 对于project 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:未能 在中查找com.nikesh:lib:jar:1.0.0 已缓存在本地存储库中,将不会重新尝试解析 直到已过central的更新间隔或强制更新 -`

这是我的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>

4.0.0
com.nikesh
应用程序编程接口
1.0.0
api模块
罐子
org.springframework.boot
spring启动程序父级
1.5.6.1发布
1.8
com.nikesh.api.app
com.nikesh
解放党
1.0.0
com.nikesh
回购
1.0.0
com.nikesh
实体
1.0.0
com.nikesh
dto
1.0.0
com.nikesh
服务
1.0.0
com.nikesh
常见的
1.0.0
org.springframework.boot
SpringBootStarterWeb
maven编译器插件
1.8
1.8
org.springframework.boot
springbootmaven插件


请帮助我解决此问题。

在构建主模块之前,您需要确保所有子模块都以正确的顺序构建

使用多个模块指南

反应堆

Maven中处理多模块项目的机制称为reactor。Maven core的这一部分具有以下功能:

  • 收集要生成的所有可用模块
  • 将项目按正确的生成顺序排序
  • 按顺序生成选定的项目
  • 由于多模块构建中的模块可以相互依赖,因此反应堆必须对所有项目进行排序,以确保在需要之前构建任何项目

    在对项目进行排序时遵循以下关系:

    • 项目依赖于生成中的另一个模块
    • 插件声明,其中插件是构建中的另一个模块
    • 插件依赖于构建中的另一个模块
    • 在生成中的另一个模块上的生成扩展声明
    • 元素中声明的顺序(如果没有其他规则 (适用)
    请注意,仅使用“实例化”引用-
    dependencyManagement
    pluginManagement
    元素不会导致对反应器排序顺序的更改


    更多。您可以将此引用到多模块maven项目的示例中。

    在主模块构建之前,您需要确保所有子模块都以正确的顺序构建。因此,此pom是您模块的pom之一?丢失的罐子在哪里?它们是您项目的模块吗?从何处运行mvn clean install命令?(备注:您不必使用maven编译器插件,它包含在SpringBootMaven插件中)您发出了哪个maven命令?我想在编译
    com.nikesh.api
    artifacta之前,您必须先安装这些依赖项@Java说,maven reactor负责构建顺序,但您必须确保应用程序能够访问它所需的所有依赖项(作为子模块或至少通过本地repo)我正在运行命令mvn clean install,该命令位于我的应用程序模块上,该模块具有start类和我附加的pom。如何构建其他模块?例如,我没有为任何其他模块运行此命令。我刚刚更新了pom,并仅在应用程序模块中运行该命令