OpenAPITools / OpenAPITools/openapi-generator-cli
Is there a way to configure Java heap size for the docker container?
Personne n'a encore pris cette issue.
- Langage dominant
- TypeScript
- Étoiles
- 2k
- Forks
- 208
- Merge moyen
- 7 h 12 min
- PR mergées (30 j)
- 6
Description
When I run openapi-generator-cli on a large OpenAPI file with useDocker, I get the following error when generating Java code:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.base/java.util.Arrays.copyOf(Unknown Source)
at java.base/java.lang.AbstractStringBuilder.ensureCapacityInternal(Unknown Source)
at java.base/java.lang.AbstractStringBuilder.append(Unknown Source)
at java.base/java.lang.StringBuffer.append(Unknown Source)
at java.base/java.io.StringWriter.write(Unknown Source)
at com.samskivert.mustache.Template$Segment.write(Template.java:369)
at com.samskivert.mustache.Mustache$StringSegment.execute(Mustache.java:718)
at com.samskivert.mustache.Template.executeSegs(Template.java:157)
at com.samskivert.mustache.Template.execute(Template.java:134)
at com.samskivert.mustache.Template.execute(Template.java:125)
at org.openapitools.codegen.templating.MustacheEngineAdapter.compileTemplate(MustacheEngineAdapter.java:65)
at org.openapitools.codegen.TemplateManager.write(TemplateManager.java:163)
at org.openapitools.codegen.DefaultGenerator.processTemplateToFile(DefaultGenerator.java:1058)
at org.openapitools.codegen.DefaultGenerator.processTemplateToFile(DefaultGenerator.java:1045)
at org.openapitools.codegen.DefaultGenerator.generateSupportingFiles(DefaultGenerator.java:738)
at org.openapitools.codegen.DefaultGenerator.generate(DefaultGenerator.java:919)
at org.openapitools.codegen.cmd.Generate.execute(Generate.java:465)
at org.openapitools.codegen.cmd.OpenApiGeneratorCommand.run(OpenApiGeneratorCommand.java:32)
at org.openapitools.codegen.OpenAPIGenerator.main(OpenAPIGenerator.java:66)
Other languages work fine, and I suspect I just need to give the Java heap some more memory. However, when I look at https://github.com/OpenAPITools/openapi-generator-cli/blob/f3f431db8080a57f788adedd09e2e1aa52ee07b3/apps/generator-cli/src/app/services/pass-through.service.ts#L119-L124, it doesn't appear there's any way to pass in JAVA_OPTS="-Xmx4g" or similar.
Am I missing something? Is there any way to set the max Java heap size?
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez dans apps/generator-cli/src/app/services/pass-through.service.ts, autour des lignes 119-124, et suivez la manière dont useDocker lance le générateur. Vérifiez si des options Java peuvent être transmises ; le travail est terminé lorsqu’un paramètre de taille du heap a été documenté ou exposé et que la génération d’un grand projet Java a été vérifiée sans l’erreur signalée.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- docker, java, typescript
- Domaine
- cli, devops, tooling
- Type d'issue
- Fonctionnalité
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 42/100