问题标签 [openjdk-11]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Maven 全新安装无法使用 openjdk 11 执行目标 Maven 故障安全插件
我遇到了使用 openjdk 11 进行项目的 maven 全新安装的问题,该项目是使用 jdk 8 成功构建的。显示无法执行目标 maven 故障安全插件,并且在启动 fork 时发生错误。
插件详情如下
并使用 0.7.9 版的 jacoco 插件作为 java 代理来创建代码覆盖率报告
java - 在 openjdk-11 下运行 wsimport.bat 时出现 Java 异常
我下载了 wsimport 并想运行它。但是,当我运行 wsimport.bat 时,我收到一条错误消息,指出找不到类。我在 Windows 10 上使用 OpenJDK 11。
我该怎么做才能运行 wsimport.bat 而不会出错?
spring-tool-suite - 使用 OpenJDK 11 配置时 Spring Tool Suite 无法打开
我的系统有 openJDK 11 并且没有 Java 1.8 SDK。因此,我尝试通过在 STS.ini 文件中进行设置来使用 Spring Tool Suite 软件配置 OpenSDK,
STS.ini:
执行 STS.exe 时,得到记录在 .log 文件中的错误,如下所示,
。日志
请帮助使用 Open JDK 11 使用 STS 工具。注意:我现在不能使用已获得许可的 Java 1.8 SDK。以便使用 OpenJDK 11。
java - java.util.jar.jarfile.init() 方法执行时间过长
故事:我正在解决我的 Web 应用程序应用程序背景的一些性能问题:这个应用程序是用 Tomcat9 服务器Java
,使用Velocity Template Engine
和前端javaScript
问题:当我让应用程序运行 10-15 分钟时,应用程序变慢了,所以我尝试进行VisualVM
分析,发现了一些痕迹,我想与大家分享。
更新 我调试它更多,并找到冗余调用函数的
主要原因Open
RandomAccessFile
在 StandardRoot.java 我们有一个方法,它寻找资源
并且这个函数调用getResourceInternal
会导致一次又一次地加载资源,如果它仍然可用的话
我也试图找到一些 Tomcat 配置。我对此做了一些改变
在 context.xml 中
这有助于我增加缓存对象的时间,例如默认情况下 cacheTtl 为 5 秒,我将其增加到 1 小时和cachingAllowed
true 并cacheMaxSize
设置为 50mb
我能够加载和读取这些参数,StandardRoot.java
但我对读取库文件的调用并没有减少。
所以基本问题是当我让我的应用程序运行(意味着在 Tomcat 服务器上运行但不在网络浏览器上使用)10-15 分钟时,应用程序变慢,当我对应用程序进行分析时,我发现了这个
java.util.jar.JarFile.init() 方法耗时 46 秒
我需要什么解决方案: 如果有人遇到这种问题,或者知道我现在可以在哪里进一步调查,那会很好,现在我面临卡住
提前致谢 :)
PS:我删除了一些文件名。因为它们是私有的并且需要保护感谢您不询问这些文件是什么:)
java - OpenJDK11:安全提供程序设置
在 java 8 中设置安全提供程序我只需要将提供程序添加到 java.security 文件并将提供程序外部库添加到 lib/ext。由于在后续版本中不允许使用外部库,如何在 jdk11 上添加提供程序?
到目前为止,我试图将提供程序添加到 conf/security 文件夹中的 java.security 文件中。
我在列表顶部插入了新的提供程序,但是当我尝试 .getInstance("providerExample") 时,我仍然得到 NoSuchProviderException。
lib jar 本身,我不知道我必须把它放在哪里,或者我怎样才能包含它才能被识别。如果我创建一个 lib/ext 文件夹,他说要改用 -classpath ,但对此一无所知。
谢谢
编辑:为了完成我的问题,我忘了提到我使用 thorntail 和 maven 3.6.1 来构建项目。我得到的错误与这一行有关:
正如我之前所说,当我拥有 java 8 时,我只需将 security.provider 添加到 java.security 并将 nCipherKM.jar 添加到 $JAVA_HOME/lib/ext 文件夹。
java - javax.servlet.UnavailableException:从jdk8迁移到openjdk11&weblogic到jetty时,Servlet类MyClass不是javax.servlet.Servlet
我面临 MyClass 不是 javax.servlet.Servlet 警告,并且在码头服务器中部署时应用程序没有启动。
早些时候在 jdk8 和 weblogic 上运行时,它运行良好。我在从 jdk8 迁移到 openjdk11 和 weblogic 到 jetty 时遇到了这个问题。
我的 web.xml
我的网络服务类
}
我正进入(状态
jetty - 码头升级8到9
当我尝试从 Jetty 8.1.12 迁移到 Jetty 9.4.18 时,由于以下问题而出现错误。
- 我们正在使用 org.eclipse.jetty.server.AsyncContinuation。Jetty 9.4.18 中不存在
- 我们正在使用 AbstractHttpConnection。特别是 AbstractHttpConnection.getCurrentConnection() 方法。这在 Jetty 9.4.18 中不存在。
- 我们正在使用 Jetty 9.4.18 中不存在的 org.eclipse.jetty.security.MappedLoginService。
- 我们正在使用 connector.getConnection() 方法。这在 Jetty 9.4.18 的连接器类中不存在。
我在 Jetty 升级页面中没有找到有关这些问题的任何文档。
java - 通过反射调用注解的方法时出现 IllegalAccessException (OpenJDK 11)
我正在尝试创建一个自定义注释处理机制(检索注释值并将它们传递给字段的构造函数),例如
好吧,不同的反射操作在 JDK 8 中对我来说非常有效。但是,由于以下异常,我无法再访问注解的方法(在 Java 11 中)(请注意,在后台使用了一个 jOOR 模块,但是如果我使用纯 Java 反射,也会出现同样的问题):
我创建了一个示例项目来重现该问题(仅那些在注释方法调用中失败的部分)。
似乎应该在 Gradle 配置中打开/导出一些 JDK 内部。如果您能指出解决此问题的确切内容,将不胜感激。
更新:
以下是关键代码片段:
这是来自 jOOR 的序列(当call
方法被调用时 -> on(annotation).call(method.getName()).get()
):
java - 当 Java 更新到 OpenJDK 11 时,Windows 上的 Jenkins 返回不受支持的 JVM 错误
我一直在 Windows Jenkins 服务器上测试将 Oracle Java 8 更新为 Red Hat OpenJDK Java 11,但我似乎碰壁了。我的 Jenkins 实例指出 Java 11 不受支持,在我更新 JENKINS_HOME JRE 文件后返回以下错误:
“我们检测到 Jenkins 不支持您的 JVM。这是由于限制是 Jenkins 使用的库之一,即 XStream。有关详细信息,
请参阅此常见问题解答。”
我采取的步骤:
1. 停止并禁用 Jenkins 服务
2. 从控制面板卸载 Oracle Java 8 191 并删除 Java\jdk1.8.0_191 中的剩余程序文件
3. 将 Red Hat OpenJDK 11.0.4 msi 安装到 Java\jdk11。 0.4
4. 更新了 JAVA_HOME 和 PATH 变量以指向新的 Java 位置
5. 使用 JDK 中的所有模块从 JDK 11 文件创建 JRE 11。具体来说,我利用这个站点来帮助创建 JRE。将 JRE 文件放在服务器上的标准位置 Java\jre11.0.4
5. 将 Jenkins 服务设置为自动并启动它。确认 Jenkins 站点工作正常,然后再次停止并禁用服务
6. 备份 JENKINS_HOME 后,将那里的 JRE 文件夹替换为我从 JDK 11 文件创建的 jre11.0.4 文件夹。
7. 启动Jenkins服务。导航到 Jenkins 站点后,我收到有关 JVM 不受支持的错误消息。
8. 停止/禁用 Jenkins 服务,然后将 Jenkins.war 更新为 Jenkins 2.194 每周版本。(我之前运行的是 Jenkins LTS 2.176.3。)启动 Jenkins 服务,却收到同样的错误。
我不确定如何继续,“将 Jenkins Java 版本从 8 升级到 11” Jenkins 文档在这一点上并没有多大帮助。升级 Jenkins 部分的最后一步是“使用包管理器安装新的 JVM”和“确保默认的 JVM 是新安装的版本。如果不是,请在 Jenkins 启动脚本中使用正确的 java 命令”。这些说明似乎特定于在 Linux 操作系统上运行的 Jenkins 实例。如果它们适用于所有操作系统类型,我不确定如何在 Windows 环境中遵循它们。
我还查看了Jenkins 在 Java 11 上运行 Jenkins的文档,但也没有找到任何有用的信息。
最后是常见问题解答超链接错误消息中的错误消息不起作用,并且这个类似名称的 XStream 站点提供的唯一信息是说明 XStream 需要 Java 8,这与Jenkins 的 Java 文档直接冲突,即 Jenkins 支持 Java 8 和 11。
任何建议让任何版本的 Jenkins 与 OpenJDK 11 一起运行,或者我的下一步应该在这里做什么,将不胜感激。
软件和版本:
- Windows Server 2016
- Jenkins LTS 2.176.3
- Jenkins 每周发布 2.194
- Oracle Java JDK 和 JRE 1.8.0.191
- 从 JDK 文件中的所有模块创建的 Red Hat OpenJDK 1.11.0.4 和 JRE
java - EWS(Exchange WebService)API 在 Open JDK 11 以及 Zulu Java 11 中也不起作用
我一直在使用EWS(Exchange Web Service)从Java 8中的共享邮箱中读取电子邮件。
升级到Java 11 (Open JDK 11/Zulu Java 11)后,在阅读电子邮件时遇到异常。
这是例外:
java.lang.NoClassDefFoundError: javax/xml/ws/http/HTTPException at Microsoft.exchange.webservices.data.core.ExchangeService.internalFindFolders(ExchangeService.java:370) ~[ews-java-api-2.0.jar:na]