java - JDK14 无法运行 "java --add-opens"

标签 java swagger codegen

我正在做一个小项目来学习 swagger-codegen。当我执行“mvn clean install”时,出现以下错误:Unable to make public boolean java.util.Collections$EmptyMap.isEmpty() accessible: module java.base does not "opens java.util" to unnamed module @1e1b061进而Failed to execute goal io.swagger.codegen.v3:swagger-codegen-maven-plugin:3.0.18:generate (default) on project swgtst-api: Code generation failed. See above for the full exception.当我试图用 java --add-opens=java.base/java.util=ALL-UNNAMED 解决它时如此处所写 https://docs.oracle.com/javase/9/migrate/toc.htm#JSMIG-GUID-2F61F3A9-0979-46A4-8B49-325BA0EE8B66
没有任何 react ,只显示 java 帮助。
肯定最后一个命令有语法问题,但我不知道到底是什么......我做错了什么?

最佳答案

该选项本身不执行任何操作,而是修改了 Java 调用的运行方式。您仍然需要将该选项添加到 java运行 mvn 时调用.
一种方法是将选项添加到 Maven 文件中(其他人可以提供帮助,或者您可以搜索如何在 Maven 文件中设置 Java 选项)。
我遇到了类似的情况,而是使用了 _JAVA_OPTIONS通过它。您可以通过为 mvn 的调用添加前缀来做类似的事情。与 _JAVA_OPTIONS ,尽管 Maven 可能会覆盖它们,并且您必须如上所述修改文件。
作为引用,这是我成功使用的命令:

_JAVA_OPTIONS="--add-opens=java.base/java.util=ALL-UNNAMED" swagger-codegen3 generate --lang python --input-spec spec.yaml

关于java - JDK14 无法运行 "java --add-opens",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67111763/

相关文章:

java - 将 ElasticSearch 与 Spring Data 结合使用时自动生成数字 id

java - 创建名称为 'securityConfig' 的 bean 时出错, Autowiring 依赖项注入(inject)失败;异常 java.lang.IllegalArgumentException

java - 未找到 Android Google Play 服务视觉条码扫描器库

Django Rest Swagger 与 APIView

Java进程: What is the Environment?

c# - 如何按 Controller 名称对 NSwag swagger.json 中的路径进行排序/排序

java - Swagger 不显示/记录我的 RESTful 端点(JAX-RS、Spring-boot)

matlab - Matlab 编码器的 OOP Matlab 继承问题(Simulink MATLAB 功能 block )

java - Swagger api 客户端方法返回 void

c# - 一个 XSD、两个代码生成工具、两个命名空间