A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/swagger-api/swagger-codegen/issues/8273 below:

Illegal/unsupported escape sequence near index 3 v2\JavaSpring · Issue #8273 · swagger-api/swagger-codegen · GitHub

Description

I tried to use swagger codegen maven plugin to generate the sources for an openapi 3.0 specification:

			<plugin>
				<groupId>io.swagger</groupId>
				<artifactId>swagger-codegen-maven-plugin</artifactId>
				<version>3.0.0-rc1</version>
				<executions>
					<execution>
						<goals>
							<goal>generate</goal>
						</goals>
						<configuration>
							<inputSpec>${project.basedir}/design/openapi.json</inputSpec>
							<language>spring</language>
							<configOptions>
								<java8>true</java8>
								<library>spring-boot</library>
							</configOptions>
						</configuration>
					</execution>
				</executions>
			</plugin>

But the generation of sources results in an exception:

[ERROR] 
java.lang.RuntimeException: Could not generate model 'user'
	at io.swagger.codegen.DefaultGenerator.generateModels(DefaultGenerator.java:409)
	at io.swagger.codegen.DefaultGenerator.generate(DefaultGenerator.java:728)
	at io.swagger.codegen.plugin.CodeGenMojo.execute(CodeGenMojo.java:534)
	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
	at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
	at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
	at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
	at java.lang.reflect.Method.invoke(Method.java:507)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: java.util.regex.PatternSyntaxException: Illegal/unsupported escape sequence near index 3
v2\JavaSpring
   ^
	at java.util.regex.Pattern.error(Pattern.java:1966)
	at java.util.regex.Pattern.escape(Pattern.java:2482)
	at java.util.regex.Pattern.atom(Pattern.java:2209)
	at java.util.regex.Pattern.sequence(Pattern.java:2141)
	at java.util.regex.Pattern.expr(Pattern.java:2007)
	at java.util.regex.Pattern.compile(Pattern.java:1707)
	at java.util.regex.Pattern.<init>(Pattern.java:1362)
	at java.util.regex.Pattern.compile(Pattern.java:1039)
	at java.lang.String.replaceFirst(String.java:1939)
	at io.swagger.codegen.DefaultGenerator.getHandlebars(DefaultGenerator.java:1014)
	at io.swagger.codegen.DefaultGenerator.processTemplateToFile(DefaultGenerator.java:744)
	at io.swagger.codegen.DefaultGenerator.generateModels(DefaultGenerator.java:396)
	... 24 more
Swagger-codegen version

swagger-codegen-maven-plugin, 3.0.0-rc1

Swagger declaration file content or url
{
  "openapi": "3.0.1",
  "info": {
    "title": "API.",
    "description": "The backend API.",
    "contact": {
      "name": "My Team",
      "url": "http://my/teamsite",
      "email": "My@Team.com"
    },
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "http://localhost:8080/api/v1",
      "description": "Local system"
    }
  ],
  "paths": {
    "/user": {
      "get": {
        "description": "Returns the current user.",
        "tags": [
          "User"
        ],
        "security": [
          {
            "basicAuthentication": []
          }
        ],
        "responses": {
          "200": {
            "description": "The user information",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/user"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "user": {
        "description": "An user.",
        "type": "object",
        "required": [
          "userName"
        ],
        "properties": {
          "userName": {
            "description": "The name of the user.",
            "type": "string"
          },
          "displayName": {
            "description": "An alternative name of the user to display.",
            "type": "string"
          }
        }
      }
    },
    "securitySchemes": {
      "basicAuthentication": {
        "type": "http",
        "scheme": "basic"
      }
    }
  }
}
Command line used for generation

Used within maven.

Steps to reproduce

Create a spring boot maven project and add the plugin and swagger file to generate the source.

Related issues/PRs

Issue similar to #7509 . Seems not to be closed.

Suggest a fix/enhancement

Correct the regex.

sgrillon14, yeikel and leodev87


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4