问题标签 [java-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 - Spring Boot 在迁移到 JDK 11 后由于 Hibernate 错误而失败
我刚刚迁移到 JDK 11 以使用最新的 Java LTS 版本。如果我将 Eclipse 中的执行 JRE 从 10 更改为 11(并且只有这样),当我尝试运行我的测试时,我会得到以下异常堆栈跟踪(我删除了一些部分以方便阅读)。
请注意,如果我切换回 jdk-10,一切都会按预期工作。显然我使用 Spring boot 和 Hibernate 作为我的 ORM。我已经检查了http://in.relation.to/2018/09/13/using-hibernate-orm-with-jdk11/中的文章并尝试解决这些依赖关系问题。我的 pom.xml 也显示在这里。
Spring Boot 和/或 Hibernate 与 jdk-11 之间是否存在已知的不兼容性?pom.xml 中可能缺少另一个引用?
编辑:正如@nullpointer 正确指出的那样,Spring 5.1 支持 java 11。但是,我的问题明确指的是 Spring Boot。
pom.xml:
堆栈跟踪:
java - 在 Windows 10 上使用 OpenJDK 11 的 Eclipse 2018-09
我刚刚在 Windows 10 上安装了JDK 11 General-Availability Release的 OpenJDK 版本。我尝试在刚刚发布的 Eclipse 2018-09 (4.9.0) 中将其安装为 JRE,并在 Eclipse 对话框中显示一条消息说:
您选择了此版本的 Eclipse JDT 尚不完全支持的 JRE。某些功能可能无法按预期工作。
问题是什么?
- Eclipse 2018-09 是否不完全支持 JDK 11?
- 还是 Eclipse 不完全支持 OpenJDK 11 但支持 Oracle JDK 11?
- 我具体可以期望哪些“功能”“无法按预期工作”?
更新:从 Internet 搜索中,我发现一些代码似乎表明 Eclipse 有一个已知 Java 版本的内部列表,如果新 JDK 版本的版本高于已知 Java 版本,它会给出上述消息。(这就是我解释代码的方式。)真的吗?Eclipse 推出了新的 2018-09 版本,就在 JDK 11 发布前几天,没有更新其已知 Java 版本列表以包括 Java 11?
也许有人有更权威的答案。
java - 为什么不支持的 clone() 方法被添加到 Java 11 中的 java.lang.ref.Reference
我正在浏览 Java 11 API 更改列表,这让我很困惑:
- Reference 类没有实现 Cloneable 接口
- 该方法将始终抛出 CloneNotSupportedException
JDK 变更集
8201793:(参考)参考对象不应支持克隆
http://hg.openjdk.java.net/jdk/jdk11/rev/e3653598e3b0
Reference.clone() 源代码
我假设必须有理由将其包含在内,可能是为了将来的某些事情?
java - Java 11:通过 Shebang 执行源文件不起作用
我想看看两天前发布的 java 11 的一些新特性。 JEP 330声明我可以在不编译的情况下启动 Java-Source-Code-Program。它还应该支持 Shebang-Files 的使用。
因此,我编写了这个小 Hello-World 程序Test.java
:
我下载了 JDK 11并将其解压缩到/opt/java
. 因此,Shebang 本身正在工作。即执行/opt/java/jdk-11/bin/java --version
给了我
使Test.java
可执行(使用chmod +x Test.java
)后,执行失败。即./Test.java
给我:
一旦我从中删除 Shebang-LineTest.java
并启动它,/opt/java/jdk-11/bin/java --source 11 Test.java
一切都像魅力一样工作,我得到了预期的输出:Hello World!
我的机器正在运行Ubuntu 17.04
。我已经链接javac
到 JDK 11 中的那个(即执行javac -version
给javac 11
)。
javafx - 带有 JavaFx 11 和 JDK 11 的 Netbeans 9.0
我正在尝试在 NetBeans 9 上运行 JavaFX 11 由于 JDK 11 不再具有 JavaFX,因此我无法让 NetBeans 运行 JavaFX 项目,它说:"Failed to automatically set-up a JavaFX Platform."
然后我从这个网站https://gluonhq.com/products/javafx/下载了 javafx11 ,按照教程我能够通过终端正常编译和运行 JavaFX 类。我可以添加 JavaFX 的唯一方法是使用 Maven,但即使它已成功构建,我也无法运行该应用程序。
有没有其他方法可以使用 NetBeans 运行 JavaFX 11?或者可能是日食?
java - 如何将使用 java 的站点添加到 JDK 11 中的 Java 异常列表中?
在之前的 Jdk (7-10) 版本中,有一个 java 控制台,我们可以在 Security->ExceptionSites 中添加站点。在 JDK 11 中,用于配置部署技术的 Java 控制面板已与共享系统 JRE(但不是服务器 JRE)和 JRE 自动更新机制一起被删除。
我怎样才能使我的应用程序工作?
谢谢!
java - Windows 上的 Oracle JDK 11 安装程序和 JAR 文件关联
我刚刚在我的 Windows 10 上安装了 Oracle JDK 11。我注意到 PATH 变量不包括 JDK 11 路径。.JAR 文件扩展名也与 javaw 无关。我们的用户过去常常双击 JAR 文件来执行客户端 Java/SWING 应用程序。对于 Java 11,这是行不通的。这是错误还是功能?我知道如何设置 PATH 并使用命令行手动启动应用程序。我只是想让最终用户更容易。有任何想法吗?
java - IntelliJ IDEa 2018.2 使用 JDK 11 将 var lambda 参数突出显示为错误
在 Oracle JDK 11 和最新(截至目前)可用版本的 IntelliJ IDEa (IntelliJ IDEA 2018.2.4) 上进行了测试。项目语言级别为 Java 11。
代码
输出
一切都编译并运行良好,但编辑器显示编译时错误:
java - Eclipse 2018-09 不会编译 Java 11 源代码;认为低于1.7
我在 Windows 10 上运行 Eclipse 2018-09 (4.9.0)。我使用的是 Open JDK 11 GA。我有一个指定为使用 Java 8 源代码的 Maven 项目。
在命令行上使用 Maven 3.5.3 编译得很好。使用 Eclipse Eclipse 2018-09 (4.9.0) 也可以很好地编译。
我将编译 Java 版本更改为 Java 11:
使用 Maven 3.5.3 在命令行上仍然可以正常构建。但是在 Eclipse 2018-09 中,我到处都遇到错误:
'<>' operator is not allowed for source level below 1.7
Constructor references are allowed only at source level 1.8 or above
Default methods are allowed only at source level 1.8 or above
你明白了。
我已经习惯Alt+F5
在 Eclipse 中更新我的 Maven 项目(和子项目)。我已经完成了彻底的清理和重建。
因为这在命令行上用 Maven 编译得很好,所以这一定是一个 Eclipse 问题,不是吗?当然,Eclipse 还不支持所有新的 Java 11 功能,但是这段代码没有 Java 11 特定的功能。怎么了?