问题标签 [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 - java:找不到模块:java.net.http
知道为什么使用 java 11 SE https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html当我使用 httpClient2 在模块中提出要求后找不到包?
模块
错误
我也看到一个警告
这是模块列表
似乎在那里,我真的很困惑。也许是 Intellij 问题?
解决方案:这是一个 Intelllij 问题。使用最新版本正确配置效果很好!
java - Intellij IDEA 中的 Java 11 JShell
我有 Java 11 JDK 和 IntelliJ IDEA 2018.2.4(64 位)。当我使用 Java 10.0.2 时,IntelliJ IDEA 中的 JShell 控制台运行良好。现在我已经升级到 Java 11,JShell 控制台已经停止工作。当我单击“运行”按钮或按 Ctrl+Enter(见屏幕截图)时,什么也没有发生。
我的项目使用 Java 11 编译和运行得很好——只有 JShell 控制台不起作用。(此外,JShell 在命令提示符下工作正常,它只在 IDEA 内部不起作用。)我可以在两台机器上重现这个问题,一台在家里运行 IDEA Community Edition 2018.2.4,另一台在运行 Ultimate 2018.2 .3.
为了解决这个问题,我需要做一些配置吗?
intellij-idea - 如何让 JavaFX 和 Java 11 在 IntelliJ IDEA 中工作
在最近的 Java 11 版本中,JavaFX 不再包含在 JDK 中。我有一个现有的 JavaFX 项目。我有兴趣学习如何将它从 Java 10 项目更改为 Java 11。我确定我已正确安装 Java 11,并且我能够将默认 SDK 从 Java 10 更改为 Java 11。我不知道知道如何让 JavaFX 与 Java 11 一起工作。
我在这里下载了最新的 JavaFX 版本。我已将它提取到包含我的其他 JDK 的 Java 文件夹中,但此时我真的不知道该怎么做。我已经阅读了一些描述如何使用 Maven 或 Gradle 连接项目的冗长指南,但我从未使用过这些。有没有办法在 IntelliJ 菜单中添加 JavaFX 支持?
java - 升级到 JDK 10 并在 Eclipse 中遇到大量编译错误
更新:我最终发现下面描述的问题只是最初出现的问题。实际问题是,在从 Java 8 更新到 Java 10(和 11)之后,Eclipse 无法正确编译我的项目。JDK 库和其他设置配置正确,我收到近 1,000 个编译错误。
没有理由继续阅读
我将一个 Swing 应用程序从 JDK 8 升级到 JDK 10(Mac 上的 Oracle Java),eclipse 抱怨javax.accessibility.Accessible
我的一个类缺少它,并且需要它。我理解这个错误的含义,但我不明白为什么 eclipse 找不到那个包。我已经在网上搜索了一个多小时,但我无法暗示任何人有这个问题。看来我应该能够从 JDK 中访问该包,但我显然遗漏了一些东西。
编辑2:
当它出现错误时,我关闭了标志以中止构建,我现在看到有数百个错误。很难说哪些是主要的,但常见的情况是class java.awt.<SomeClass> is not accessible
. 这似乎发生在每个 awt 类中。我的代码没有组织为模块,我认为java.desktop
在Modulepath
. 此外,此代码的 ant 构建工作正常。
编辑:
正如评论中所建议的,这可能是 IDE 配置错误,但我不知道我能修复什么。我已经离开 Java 几年了,虽然我已经知道 JDK 是用 JDK 9 重新组织的,并且引入了模块,但我不知道是否有我应该做的事情明确地做以使javax.accessibility
包在类路径上可用。我刚刚在项目的构建路径中添加了一个 JRE 系统库,就像我一直在 Eclipse 中处理 Java 项目一样。
在构建路径配置 UI 中,我看到 JRE 系统库(绑定到 JDK 10)是Modulepath
. 在 JRE 系统库下,我看到了许多模块,在它们之上是一个Is Module
我可以编辑的条目。它在左侧显示了可用的模块,在右侧的两个树表中显式和隐式地包含了模块。这些都不包括javax.accessibility
,但jdk.accessibility
被列为明确包括。左侧的可用模块似乎都与可访问性没有任何关系。所以我不知道我能做些什么来包括那个丢失的包。一些摇摆类依赖于它,所以它似乎应该默认存在。
java - 在 Windows 上安装 Java 11 OpenJDK(系统路径问题)
Java 11 最近刚到,众所周知,这个版本没有安装文件。
当然,要在没有安装程序的情况下安装 Java,我已将系统设置 PATH 和 JAVA HOME 设置为解压缩 Java 11 的文件夹的地址(建议接受对类似问题的回复)。
唯一的问题是所有关于系统设置的建议对我的机器没有任何影响:
- 使用命令行检查输出我的旧 Java 9 版本
- 从文件夹中删除 Java 9 后,命令行根本无法识别任何 Java。
那么,实际上有什么方法可以安装这个版本吗?
感谢您提供未来的答案并且没有将我的问题标记为重复(出于上述原因)
java - JDK 11 编译类文件失败并出现 OOM 异常
[编辑] 这不再是一个问题。除了使用当前的 JDK11 之外没有改变任何东西。
更新了 jdk 11 合规性的 jar 依赖项。
将蚂蚁更新到 1.10.x。
将 ANT_OPTS 更改为使用高达 5GB 的内存。
将构建脚本中的 javac 任务更改为使用高达 5GB 的内存和 fork=true。
我收到以下错误:
注意:相同的设置在 java 8 下继续构建良好
更新 1: 运行带有 -verbose 的 ant 和带有详细的构建文件中的 javac 提供了使用的搜索路径。比较 jdk8 和 jdk11 条目:
JDK8 有以下条目在 jdk 11 搜索路径中不存在
最后一行是 build.xml 所在项目的根目录。
搜索路径后,有一堆“正在加载ZipFileIndexFileObject...”。
其次是我的类的类文件生成。
随后将它们放入罐子中。
jdk8 搜索路径中缺少的 jdk11 中的条目。
上述模块不存在。然后它会因前面列出的 OOM 堆栈跟踪而失败。
2018 年 10 月 17 日更新:
获得了一个 openjdk11 docker 映像(linux),在其上安装了 ant,安装了我的源目录并进行了 ant 构建。工作正常没有问题。所以现在对我来说似乎是一个 Windows jdk11 问题。
java - 使用 gradle 迁移到 Java 11;不支持的操作异常
试图从 jdk 10 切换到 11 并且无法弄清楚是什么库调用了这个异常:
我正在使用带有以下内容的 gradle wrapper(v4.10.2) build.gradle
:
调查这个问题我发现只有 gradle 本身,lombok 和 jmockit 使用asm
可能会导致此异常的库。有人可以回答我是哪个库调用了这个异常吗?
更新
我发现那篇关于同样问题的文章: https://matsumana.info/blog/2018/09/25/gradle-with-jdk11/ 指向这里的 gradle 问题https://github.com/gradle/gradle /issues/5120 所以这意味着 gradle 还不支持 Java 11?
java - 如何在 javac 中升级 JDK 模块
我有一些代码需要用 JDK 11 编译,它使用 Java EE 版本的javax.annotation
包。具体来说,我想@Resource
用作可重复注释(Common Annotations 1.3 规范),而注释在 JDK 8 中不可重复。此外,我需要在 Java 8 字节码级别编译此代码,因为我的代码仍需要在 JDK 上运行8.
如果我用 编译我的代码javac --release 8
,那么我将被迫使用 JDK 8 版本的javax.annotations
. 理想情况下,我想使用 --upgrade-module-path,但会javac
阻止此选项:
在以前的 Java 级别中,我会将我的javax.annotion
jar 预先添加到引导类路径中,但这也被阻止了--release
有什么方法可以安全地编译到较旧的 java 级别,同时覆盖/升级特定的包/模块?
java - 使用运行/调试配置在 IntelliJ IDEA 中运行 JavaFX 11 Maven 项目
我想使用来自 IntelliJ IDEA 的Maven 运行 HelloWorld JavaFX 11 应用程序,并使用运行/调试配置来调试应用程序。
我在 IntelliJ IDEA 中使用pom.xml和HelloFX.java创建了一个 Maven 项目。我可以成功构建项目并运行它执行指定的compile
目标exec:java
。
但是当我使用带有 VM 选项的运行/调试配置运行它时--add-modules=javafx.controls
,我得到:
启动层初始化时出错
java.lang.module.FindException: Module javafx.controls not found
我设法运行它的唯一方法是下载JavaFX 运行时并将 VM 选项设置为--module-path /path/to/javafx-sdk-11/lib --add-modules=javafx.controls
.
但是有没有办法使用从 Maven 下载的工件来运行它?正如我认为 IntelliJ IDEA 可以在运行时使用 Maven 工件一样。还是我只是弄错了什么?
PS我知道这个答案,但它没有描述我想要做什么。