问题标签 [java-15]

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 投票
3 回答
360 浏览

javascript - Nashorn 与 Java 1.8 到 15 的兼容性?

我需要使用 Nashorn JavaScript 引擎的软件与 Java 1.8 以上版本兼容。
如果我使用与 JDK 捆绑的那个,它将无法在 Java >= 15 上运行。如果我使用独立的 Nashorn,它将与 Java < 15 不兼容。
有没有办法保持兼容性?我已经考虑过反思,但可能有更有效的方法。

0 投票
1 回答
192 浏览

selenium - 使用 JDK 15 和 Selenium 3.141.59 无法访问类型包错误

0 投票
1 回答
484 浏览

java - 静态最终字段与 TrustFinalNonStaticFields

假设我有这个简单的方法:

对于 javac,me不是常量(根据 JLS 规则),但对于 JIT 很可能是。

我尝试使用以下方法对此进行测试:

并运行它:

我不知道组装很好,但这很明显:

的结果go是立即的4,即:JIT “信任”me是一个常数,因此2 * 2 = 4

如果我删除static并将代码更改为:

并运行它:

我确实在汇编中看到:

这实际上是mewith的乘法2,通过移位完成。所以 JIT 不相信me是一个常数,这是意料之中的。

现在的问题。我想如果我添加TrustFinalNonStaticFields标志,我会看到相同的mov eax 0x4,即:运行:

应该显示mov eax,0x4,但令我惊讶的是它没有,并且代码保持为:

有人可以解释发生了什么以及我缺少什么吗?

0 投票
1 回答
240 浏览

java - Eclipse Java 15 支持不起作用,编译器不显示正确的版本

在之前将我的 Eclipse 升级到 2020-12 (4.18 .0)。但是它不起作用(编译器未显示高于 12 的版本),并且手动添加时构建路径无法识别 JDK 15:

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

我想知道第三个屏幕截图中 Java 15 插件旁边的红色小加号图标是否意味着什么。

任何帮助表示赞赏。

0 投票
1 回答
134 浏览

java - 如何从 jdk 15 中提取 java 预览类文件?

我目前正在尝试从 jdk 中提取预览类文件,例如 jrt-fs.jar 中的 java.lang.Record (在 libs 文件夹中),但是在迭代它时找不到预览类,例如 Record 。这是我正在使用的代码:

我也尝试过更直接的方法:

现在,当我使用 --enable-preview 运行完全相同的 jdk 时,我可以使用记录。

如何从 jdk linux/lib 中提取 Record 类?预览课程在里面还是我应该在其他地方寻找它们?我需要一个特定的标志来访问它们吗?

任何帮助表示赞赏。

0 投票
3 回答
932 浏览

java - Java < 15 和 >= 15 的不同 Nashorn 引擎?

正如我之前提出的另一个问题所述,我正在尝试为 Nashorn 找到一种解决方法,使其与 1.8 以上的每个 Java 版本兼容。
我目前正在尝试UnsupportedClassVersionError了解系统是否能够像这样运行独立的 Nashorn for Java 15(Kotlin 代码):

但是,看起来错误没有被捕获。堆栈跟踪如下:

我还尝试捕获NoClassDefFoundError反转以前的 try/catch(加载 Java < 15 Nashorn,如果它不存在,则加载独立的),但错误是相同的。

编辑:看起来错误是由 Java < 15 Nashorn 本身引发的。

0 投票
0 回答
53 浏览

java - jpackage 在 Mac OS 11.2 上失败

我有Mac OS 11.2Openjdk 15.0.1。我运行jpackage,但是当我使用选项时--license-file license.txt ,包是构建的(但没有许可证)并且我在命令行中有一个错误:

为什么它失败了,我该如何解决?

0 投票
2 回答
1381 浏览

java - Java记录与龙目岛@Value

记录是自 Java 14(第一次预览版)和 Java 15(第二次预览版)以来的新语言功能。据我了解,它们将用于减少不可变数据对象中的样板代码。

所以这一行:

等价于声明一个具有私有 final 字段、每个字段的 getter、公共构造函数和 equals、hashCode 和 toString 方法的类。

@Value然而,这与使用 lombok注释几乎相同:

除了你显然不需要处理lombok依赖之外,使用记录有什么好处吗?

0 投票
1 回答
844 浏览

spring - java 15中的隐藏类是什么?

Java 15中的隐藏类功能到底是什么?

正如我在 Java 15 文档中所读到的,SpringHibernate框架使用了隐藏类?我需要 Spring 和/或 Hibernate 使用的 Hidden Classes 的真实示例。

0 投票
1 回答
780 浏览

java - 尝试为 python3 安装 pip 时出现 Java 错误

我正在努力为 python3 下载 pip。我正在开发 macOS Catalina(版本 10.15.7)。我使用以下命令行: sudo apt install python3-pip 一开始,我没有 JDK,并从https://www.oracle.com/java/technologies/javase-downloads.html下载了一个。现在我有了 Java SE 15.0.2,尝试安装 pip 时遇到以下问题:

Unable to locate an executable at "/Library/Java/JavaVirtualMachines/jdk-15.0.2.jdk/Contents/Home/bin/apt" (-1)

我确实检查了,“/Library/Java/JavaVirtualMachines/jdk-15.0.2.jdk/Contents/Home/bin/apt”不存在。

但是,“/Library/Java/JavaVirtualMachines/jdk-15.0.2.jdk/Contents/Home/bin/”可以。

非常感谢您的帮助 !