问题标签 [adoptopenjdk]

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 投票
1 回答
923 浏览

java - AdoptOpenJDK jdk-slim vs jre的目的?

我想知道jdk-slimdocker image 的用例是什么?

在哪些情况下我应该使用jdk-slim而不是jre

是否有任何众所周知的问题(例如某些监控工具无法正常工作jre?)

0 投票
0 回答
803 浏览

linux - ExecutionException 分叉的虚拟机在没有正确告别的情况下终止。VM 崩溃或 System.exit 调用?

最近我在所有 Linux 和 Windows Jenkins slave 上安装了 AdoptOpenJDK。由于 Linux 从站上的以下错误,构建失败,但它通过了 Windows 从站。失败的原因是maven surefire插件中的forkCount设置为2。设置为0时,构建通过。我们有很多测试,所以将 forkCount 设置为 0 不是一个选项。当我使用 Oracle JDK 时构建通过。

Maven Surefire 插件版本 - 3.0.0-M3
AdoptOpenJDK 版本 - 8u242-b08
Linux 版本 - Oracle Linux 6.10

有谁知道为什么在 AdoptOpenJDK 上构建失败但通过 Oracle JDK?

0 投票
2 回答
1570 浏览

java - Apache HttpClient 在 macOS 上使用 Java 11 失败

我正在尝试将我的代码从 Java 8 移动到 Java 11,这段代码......

}

在 MacOS 上使用 (AdoptOpenJdk) Java 11.0.6 失败,

它在 Windows 上运行没有问题(也使用 AdoptOpenJdk Java 11.0.6)。一个区别是 Windows 版本使用从 jdk 和 jlink 构建的缩减 jre,而 MacOS 版本使用 AdoptOpenJDk jre 构建。MacOS 版本是使用 InfiniteKinds fork 创建的AppBundler

这是堆栈跟踪:

我正在使用 Apache Httpclient 4.5.3 并且正在使用这个库,因为我从需要使用 ssl 的 web 服务获取数据。

更新open我从下面的答案向我的源代码添加了示例测试,并修改了我的构建以在应用程序运行时使其成为启动类,它给了我这个堆栈跟踪(当使用嵌入的 java 运行时 从命令行运行包时由无限种类的 appbundle 提供的捆绑包)

这与我以前的不同,但也许这是根本原因还是误导?

而如果我只是运行java -jar songkong6.9.jar它运行示例并打印出加载没有错误,如果我从 /Library/Java 指定完整路径,它也适用于所有情况(Java 11/Java 14/JDk 和 JRE)

更新 根据下面的答案,我取得了一些进展。

MacOS 上安装的 JRE 包含一个conf文件夹,当使用 InfiniteKinds appbundler 将 JRE 添加到我的包 (SongKong) 中时,它没有 conf 文件夹。它确实有一个包含 a 的 lib/security 文件夹,default.policy但这似乎还不够。

如果我手动将 conf 文件夹从已安装的 JRE 复制到 java 插件的主文件夹,则安装构建的捆绑包后

例如

/Applications/SongKong.app/Contents/PlugIns/adoptopenjdk-11.jre/Contents/Home

位置然后示例代码和我的原始代码在从捆绑包运行时都可以正常工作。

此外,它似乎正在寻找的是无限文件夹及其内容(这两个文件实际上是相同的),所以如果我删除一些文件,那么我就剩下

然后它继续工作。

问题(除了为什么它不能开箱即用之外)是我假设我无法将文件复制到此位置以用于强化运行时应用程序,因此我需要将这些策略文件存储在其他地方,以便它们可以作为 appbundler 构建的一部分安装。因此,作为测试,我已重命名conf文件夹文件conf.old夹并将以下参数添加到包中

或替换而不是附加策略文件

但这不起作用,我尝试了各种值,但没有任何效果。唯一可行的是将它留在 conf 子文件夹中,然后我是否传递此参数都没有关系。(我也尝试添加-Dsecurity.manager作为另一个选项,但这只会导致有关日志记录权限的新错误。)

0 投票
1 回答
1337 浏览

java - AdoptOpenJDK 的 JRE 11+ 是否和在 JDK 上使用 jlink 一样,添加所有依赖

AdoptOpenJDK 的 JRE 11+ 是否与仅使用jlink并添加所有依赖项相同?

Oracle Java 11 及更高版本不附带仅 JRE JDK,因为您可以使用jlink构建自己的 JRE,其中仅包含您需要的系统模块,这就是我在 Windows 和 Linux 上所做的。

但是,对于我来说,如何为某些平台(Docker 和 MacOS)合并一个 jlinked JRE 对我来说并不是那么明显,而且由于 AdoptOpenJDK 不仅为 JDK 还为 JRE 提供二进制文件,我想我可能只为这些平台使用 JRE。但是如果我链接 JDK 并包含所有系统模块依赖项,JRE 是否包含我将获得的所有内容?

0 投票
0 回答
51 浏览

java - 添加了在使用 OpenJDK8 框架时调用 API ClassPathXmlApplicationContext 时遇到的异常问题

下面的代码在Oracle Java 7 和 8上运行得非常好,但在 OpenJDK 上却失败了(我试过https://adoptopenjdk.net/和 RedHat's )。

当我配置 openJDK 时,我遇到了异常

引用的XML如下

没有把握

  1. 我是否必须找到不同的 API 来获取 XML 上下文
  2. 是否在 OpenJDK XML 上下文中以不同方式处理

任何帮助在这里表示赞赏。

0 投票
1 回答
1509 浏览

java-8 - jdk 11 中缺少外部 jar 文件

我有一个使用install4j构建的应用程序,它使用 openjdk-8。现在我想将 openjdk-8 更改为 openjdk-11。我的应用程序只使用 jre 而不是完整的 jdk。在 jdk11 中没有单独的 jre。

但是 AdoptOpenJDK为 jdk-11 单独提供了 jre,但是缺少一些 jar 文件,并且lib\extjre 中没有文件夹。

缺少 jar 文件

缺少 jar 文件

我的问题是我可以在从 AdoptOPenJDK 下载的 jre 中手动添加这些 jar 文件吗?

0 投票
1 回答
5556 浏览

ssl - 由于 OpenJDK Java 11 获得 javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure

最近将应用程序从 Oracle Java 9 更新到 AdoptJDk 11.0.6,我现在看到以下代码形式的错误:

失败:

该问题已在 Windows 上出现,但也可能出现在其他平台上

该错误肯定是由于更改了 JRE,但我不知道问题是从 Java 9 转移到 11,还是从 Oracle 转移到 AdoptJdk,我该如何解决?

更新

  1. 在使用 11.0.6 的 MacOS 上不会出现此问题
  2. 在 Windows 上从 11.0.6 更新到 11.0.7 没有效果
  3. 在 Windows 上添加 -Dhttps.protocols=TLSv1.1,TLSv1.2(禁用 TLS1.3 支持)解决了这个问题。
  4. 此错误的可能版本https://bugs.openjdk.java.net/browse/JDK-8206923
0 投票
1 回答
901 浏览

java - 如何与 Oracle JDK 8 并行安装 AdoptOpenJDK 8 和 11 并与 Eclipse 一起使用

我正在尝试将 Java 更新到版本 11,但由于许可证的原因不想使用 Oracles JDK。因此,我也想安装和使用 AdoptOpenJDK 8。我的操作系统是 Windows 10。

我已经尝试在不覆盖任何设置的情况下安装 AdoptOpenJDK 11,因为我希望其他 java 程序仍然使用 Oracles JRE 8 运行。我在 eclipse 中将 AdoptOpenJDK 安装文件夹添加到已安装的 JRE 中,当我运行一些测试代码时,“ java.version" 设置为 11.0.7,但是在尝试新的 'var' 功能时,Eclipse 说'var' is not allowed here. 我将编译器合规级别更改为 11 并更新到 Eclipse 版本 2020-03 (4.15.0),但它仍然无法正常工作。
然后我重新安装了 AdoptOpenJDK 11 并让安装程序更改所有设置,但它仍然无法正常工作。

如何在我的系统上安装与 OracleJDK 8 并行的 AdoptOpenJDK 8 和 11,并在 Eclipse 中设置每个项目使用哪一个?

编辑:好的,它现在可以工作了,显然我只是不明白如何正确使用'var'。尽管如此,还是感谢您的帮助。

0 投票
2 回答
66 浏览

java - 如何在野飞服务器中部署战争?

我们在wildfly服务器中使用一个java应用程序,它使用java 1.8.0_202,现在我们想将java从oracle jdk迁移到采用openjdk。我在wildfly服务器的管理控制台中更改了新openjdk的路径。现在的问题是我们是否需要再次使用采用openjdk 重建应用程序,或者我可以使用已部署的旧战争。

提前致谢!..

0 投票
1 回答
1961 浏览

java - java NIO SSO 处理器中的空指针

尝试在 tomcat 9 上运行 gitblit,偶尔使用 JDK 11 会导致此堆栈跟踪:

当客户端试图从 gitblit GUI 中提取文件时。

可能感兴趣,在我更新到 JDF 的 11.0.7 版本之前,我看到了这个错误: Open JDK 11 HTTP/2 Handshake ServerHello java.util.NoSuchElementException

在这里修复了 Optional 的误用: https ://bugs.openjdk.java.net/browse/JDK-8218889但也许实际上并没有解决根本问题?

或者关于触发此错误的任何其他想法?我在这里使用自签名证书,仅供参考。客户端是火狐,java版本是

openjdk 版本“11.0.7” 2020-04-14 OpenJDK 运行环境 AdoptOpenJDK(build 11.0.7+10) OpenJDK 64-Bit Server VM AdoptOpenJDK(build 11.0.7+10,混合模式)

在 alpine linux docker 系统中运行。

追查 gitblit 偶尔超时 1 分钟的问题,并在日志中找到它。不知道有没有关系......

看起来它也在 tomcat https://bz.apache.org/bugzilla/show_bug.cgi?id=64105中找到,并在此处报告

https://bugs.openjdk.java.net/browse/JDK-8241248

由于我无法提供有关 openjdk 错误跟踪器的信息,因此我可以告诉您,通常为我导致它的客户端是 linux 上的 Firefox 75。