问题标签 [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.

0 投票
0 回答
425 浏览

java - Maven 全新安装无法使用 openjdk 11 执行目标 Maven 故障安全插件

我遇到了使用 openjdk 11 进行项目的 maven 全新安装的问题,该项目是使用 jdk 8 成功构建的。显示无法执行目标 maven 故障安全插件,并且在启动 fork 时发生错误。

插件详情如下

并使用 0.7.9 版的 jacoco 插件作为 java 代理来创建代码覆盖率报告

0 投票
0 回答
730 浏览

java - 在 openjdk-11 下运行 wsimport.bat 时出现 Java 异常

我下载了 wsimport 并想运行它。但是,当我运行 wsimport.bat 时,我收到一条错误消息,指出找不到类。我在 Windows 10 上使用 OpenJDK 11。

我该怎么做才能运行 wsimport.bat 而不会出错?

0 投票
1 回答
1596 浏览

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。

0 投票
0 回答
256 浏览

java - java.util.jar.jarfile.init() 方法执行时间过长

故事:我正在解决我的 Web 应用程序应用程序背景的一些性能问题:这个应用程序是用 Tomcat9 服务器Java,使用Velocity Template Engine和前端javaScript

问题:当我让应用程序运行 10-15 分钟时,应用程序变慢了,所以我尝试进行VisualVM分析,发现了一些痕迹,我想与大家分享。

在此处输入图像描述 更新 我调试它更多,并找到冗余调用函数的
主要原因OpenRandomAccessFile

这是调用 stackeTrace 在此处输入图像描述

在 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:我删除了一些文件名。因为它们是私有的并且需要保护感谢您不询问这些文件是什么:)

0 投票
0 回答
1787 浏览

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 文件夹。

0 投票
0 回答
140 浏览

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

我的网络服务类

}

我正进入(状态

0 投票
1 回答
325 浏览

jetty - 码头升级8到9

当我尝试从 Jetty 8.1.12 迁移到 Jetty 9.4.18 时,由于以下问题而出现错误。

  1. 我们正在使用 org.eclipse.jetty.server.AsyncContinuation。Jetty 9.4.18 中不存在
  2. 我们正在使用 AbstractHttpConnection。特别是 AbstractHttpConnection.getCurrentConnection() 方法。这在 Jetty 9.4.18 中不存在。
  3. 我们正在使用 Jetty 9.4.18 中不存在的 org.eclipse.jetty.security.MappedLoginService。
  4. 我们正在使用 connector.getConnection() 方法。这在 Jetty 9.4.18 的连接器类中不存在。

我在 Jetty 升级页面中没有找到有关这些问题的任何文档。

0 投票
0 回答
424 浏览

java - 通过反射调用注解的方法时出现 IllegalAccessException (OpenJDK 11)

我正在尝试创建一个自定义注释处理机制(检索注释值并将它们传递给字段的构造函数),例如

好吧,不同的反射操作在 JDK 8 中对我来说非常有效。但是,由于以下异常,我无法再访问注解的方法(在 Java 11 中)(请注意,在后台使用了一个 jOOR 模块,但是如果我使用纯 Java 反射,也会出现同样的问题):

我创建了一个示例项目来重现该问题(仅那些在注释方法调用中失败的部分)。

似乎应该在 Gradle 配置中打开/导出一些 JDK 内部。如果您能指出解决此问题的确切内容,将不胜感激。

更新:

以下是关键代码片段:

这是来自 jOOR 的序列(当call方法被调用时 -> on(annotation).call(method.getName()).get()):

0 投票
1 回答
609 浏览

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

0 投票
1 回答
831 浏览

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]