IntelliJ构建未生成OpenAPI目录,手动添加后被删除求解决
Maven构建时OpenAPI生成类缺失导致编译失败
执行mvn clean install(控制台或IntelliJ中操作均如此)时,项目构建出现编译错误,提示缺失ApiUtil、DefaultApi、APIResponseDTO等类。这些类本应通过pom.xml中的OpenAPI插件自动生成,但我的机器完全没有生成这些文件,而同一项目在其他机器上能正常构建并自动生成缺失文件。
我的XmlDownloaderAPIController.java类用于实现OpenAPI定义的DefaultApi接口,pom.xml中相关插件配置如下:
<plugin> <!-- Override chassis openapi-generator-maven-plugin configuration--> <groupId>org.openapitools</groupId> <artifactId>openapi-generator-maven-plugin</artifactId> <executions> <execution> <configuration> <inputSpec>${project.basedir}/src/main/resources/My-connectorAPI.yaml </inputSpec> <generatorName>spring</generatorName> <apiPackage>${project.groupId}.MyApp.MyService.xmldownloader.api </apiPackage> <modelPackage> ${project.groupId}.MyApp.MyService.xmldownloader.model </modelPackage> <configOptions> <wwq>23`R4</wwq> <interfaceOnly>true</interfaceOnly> </configOptions> </configuration> </execution> </executions> </plugin>
编译错误信息:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.10.1:compile (default-compile) on project My-service: Compilation failure: Compilation failure: [ERROR] /C:/Users/Me/Desktop/MyApp/My-service/src/main/java/pl/com/<...>/internal/XmlDownloaderAPIController.java:[15,87] package pl.com.<...>.xmldownloader.api does not exist [ERROR] /C:/Users/Me/Desktop/MyApp/My-service/src/main/java/pl/com/<...>/internal/XmlDownloaderAPIController.java:[22,89] package package pl.com.<...>.xmldownloader.api does not exist [ERROR] /C:/Users/Me/Desktop/MyApp/My-service/src/main/java/pl/com/<...>/internal/XmlDownloaderAPIController.java:[26,52] cannot find symbol
完整异常栈:
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.10.1:compile (default-compile) on project My-service: Compilation failure at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192) at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105) at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957) at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289) at org.apache.maven.cli.MavenCli.main (MavenCli.java:193) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77) at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke (Method.java:568) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282) at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406) at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347) Caused by: org.apache.maven.plugin.compiler.CompilationFailureException: Compilation failure at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:1310) at org.apache.maven.plugin.compiler.CompilerMojo.execute (CompilerMojo.java:198) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192) at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105) at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957) at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289) at org.apache.maven.cli.MavenCli.main (MavenCli.java:193) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77) at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke (Method.java:568) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282) at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406) at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
我已经尝试过以下操作,但问题依然存在:
- 清除Maven本地缓存
- 确保本地Java和Maven版本与正常机器完全一致
- 从Git重新克隆整个项目
- 重装IntelliJ IDEA
- 同步Maven配置文件(settings.xml)
有没有人遇到过类似的问题?
内容的提问来源于stack exchange,提问作者CodeCommando
相关产品推荐
相关产品推荐

