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

Win11下使用swagger-codegen-maven-plugin遇非法转义序列错误

解决swagger-codegen-maven-plugin在Windows 11下的PatternSyntaxException错误

问题背景

已验证输入的OpenAPI JSON文件有效,但执行generate目标时触发正则语法错误,尽管项目Issue #8273标注rc1版本已修复该问题,Windows 11环境下仍复现。

插件配置

<properties>
    <swagger-codegen-maven-plugin-version>3.0.0-rc1</swagger-codegen-maven-plugin-version>
</properties>
<plugin>
     <groupId>io.swagger</groupId>
      <artifactId>swagger-codegen-maven-plugin</artifactId>
      <version>${swagger-codegen-maven-plugin-version}</version>
      <executions>
         <execution>
             <goals>
                 <goal>generate</goal>
             </goals>
             <configuration>
                <inputSpec>${project.basedir}/src/main/resources/swagger/ngdms-api.json</inputSpec>
                <language>java</language>
                <configOptions>
                    <sourceFolder>src/main/java/com/brightinsight/proxy/ngdms/gen</sourceFolder>
                </configOptions>
            </configuration>
        </execution>
     </executions>
    <dependencies>
        <dependency>
            <groupId>io.swagger.codegen.v3</groupId>
             <artifactId>swagger-codegen-maven-plugin</artifactId>
             <version>3.0.8</version>
         </dependency>
     </dependencies>
</plugin>

错误日志

...
 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)
    at org.codehaus.classworlds.Launcher.main (Launcher.java:47)
Caused by: java.util.regex.PatternSyntaxException: Illegal/unsupported escape sequence near index 3
v2\Java
   ^
    at java.util.regex.Pattern.error (Pattern.java:2028)
    at java.util.regex.Pattern.escape (Pattern.java:2608)
    at java.util.regex.Pattern.atom (Pattern.java:2286)
    at java.util.regex.Pattern.sequence (Pattern.java:2210)
...

解决方案

  • 统一插件版本:当前配置存在版本冲突——插件声明版本为3.0.0-rc1,但依赖中引入了3.0.8版本的同名插件。将插件版本统一为3.0.8,并移除重复的依赖声明:

    <properties>
        <swagger-codegen-maven-plugin-version>3.0.8</swagger-codegen-maven-plugin-version>
    </properties>
    <plugin>
         <groupId>io.swagger</groupId>
          <artifactId>swagger-codegen-maven-plugin</artifactId>
          <version>${swagger-codegen-maven-plugin-version}</version>
          <executions>
             <execution>
                 <goals>
                     <goal>generate</goal>
                 </goals>
                 <configuration>
                    <inputSpec>${project.basedir}/src/main/resources/swagger/ngdms-api.json</inputSpec>
                    <language>java</language>
                    <configOptions>
                        <sourceFolder>src/main/java/com/brightinsight/proxy/ngdms/gen</sourceFolder>
                    </configOptions>
                </configuration>
            </execution>
         </executions>
    </plugin>
    
  • 清理Maven缓存:执行以下命令强制更新依赖,避免旧版本插件残留:

    mvn clean install -U
    
  • 添加语言生成器依赖(可选):若仍有问题,在插件中添加Java生成器的明确依赖,确保版本与插件一致:

    <plugin>
        <!-- 其他配置 -->
        <dependencies>
            <dependency>
                <groupId>io.swagger.codegen.v3</groupId>
                <artifactId>swagger-codegen-generators</artifactId>
                <version>3.0.8</version>
            </dependency>
        </dependencies>
    </plugin>
    
  • 检查路径格式:确保配置中所有路径使用正斜杠/,避免Windows反斜杠\被误解析为正则转义符(当前配置已符合要求,但若后续修改路径需注意)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 19:12:19