You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行mvn clean install时无法解析openapi-generator依赖的问题

OpenAPI Generator插件依赖解析失败问题

执行mvn clean install时出现依赖解析错误,提示无法解析org.openapitools:openapi-generator:jar:sources:${openapi-generator-version},错误栈如下:

org.eclipse.core.runtime.CoreException: Could not resolve artifact org.openapitools:openapi-generator:jar:sources:${openapi-generator-version}
at org.eclipse.m2e.core.internal.embedder.MavenImpl.lambda$4(MavenImpl.java:828)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:182)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:117)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:103)
at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:796)
at org.eclipse.m2e.core.internal.embedder.MavenImpl.resolve(MavenImpl.java:773)

当前pom.xml配置:

<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.3</version>
        <relativePath /> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.company.project</groupId>
    <artifactId>company</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>company</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.openapitools</groupId>
            <artifactId>openapi-generator</artifactId>
            <version>6.2.0</version>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>

            <!--https://openapi-generator.tech/docs/plugins/-->
            <plugin>
                <groupId>org.openapitools</groupId>
                <artifactId>openapi-generator-maven-plugin</artifactId>
                <!-- RELEASE_VERSION -->
                <version>5.1.0</version>
                <!-- /RELEASE_VERSION -->
                <executions>
                    <execution>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <inputSpec>${project.basedir}/src/main/resources/test.yaml</inputSpec>
                            <output>${project.build.directory}/</output>
                            <generateSupportingFiles>true</generateSupportingFiles>
                            <generatorName>spring</generatorName>
                            <strictSpec>true</strictSpec>
                            <generateApiTests>false</generateApiTests>
                            <generateModelTests>false</generateModelTests>
                            <configOptions>
                                <controllerThrowsExceptions>java.io.IOException,com.example.NotFoundException</controllerThrowsExceptions>
                                <library>spring-mvc</library>
                                <interfaceOnly>true</interfaceOnly>
                                <skipDefaultInterface>true</skipDefaultInterface>
                                <useBeanValidation>true</useBeanValidation>
                                <useClassLevelBeanValidation>false</useClassLevelBeanValidation>
                                <useTags>true</useTags>
                                <java8>true</java8>
                                <useOptional>false</useOptional>
                                <hideGenerationTimestamp>true</hideGenerationTimestamp>
                                <dateLibrary>java8</dateLibrary>
                                <bigDecimalAsString>true</bigDecimalAsString>
                                <useBeanValidation>true</useBeanValidation>
                                <apiPackage>${codegen.api.package.name}</apiPackage>
                                <modelPackage>${codegen.model.page.name}</modelPackage>
                            </configOptions>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

疑问:该依赖是否部署在Nexus上?


问题原因及解决办法

1. 版本变量未定义

错误日志中的${openapi-generator-version}是未定义的Maven属性,导致Maven无法解析具体版本。

解决:

  • 在pom.xml的<properties>块中添加版本属性:
<properties>
    <java.version>8</java.version>
    <openapi-generator-version>6.2.0</openapi-generator-version>
</properties>
  • 统一插件和依赖版本:将openapi-generator-maven-plugin的版本改为6.2.0,或用定义的属性统一引用:<version>${openapi-generator-version}</version>,避免版本不一致引发的依赖冲突。

2. 依赖仓库配置问题

OpenAPI Generator的包默认发布在Maven中央仓库,只要你的Maven配置了中央仓库(默认已配置)即可拉取。如果公司使用Nexus作为代理仓库:

  • 检查Nexus的代理仓库配置,确认中央仓库已被正确代理
  • 在Nexus中搜索该包,确认是否已同步;若未同步,联系管理员触发同步或手动上传包到Nexus

3. 额外检查点

  • 执行mvn clean install -U强制更新仓库元数据,避免本地缓存导致的解析问题
  • 检查本地Maven的settings.xml,确认仓库配置未被镜像拦截,能正常访问中央仓库或公司Nexus

内容的提问来源于stack exchange,提问作者codeNEWBYE

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 16:56:05