-
Notifications
You must be signed in to change notification settings - Fork 6k
Closed
Description
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": "[email protected]"
},
"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
Metadata
Metadata
Assignees
Labels
No labels