java-9相关内容

Java 8 与 Java 9 中的 Stream.peek() 方法

我正在学习 Java 8 lambda 表达式,想询问与 peek 方法在我拥有的函数接口中遇到. 在 IDE 上执行程序时,它没有输出.我期待它会给 2, 4, 6. import java.util.Arrays;导入 java.util.List;公共课 Test_Q3 {公共测试_Q3(){}公共静态无效主(字符串 [] args){列表values = Arrays.asList ..
发布时间:2021-12-23 22:33:46 Java开发

Java 中的可选 orElse 可选

我一直在使用新的可选类型在 Java 8 中,我遇到了一个看似常见但功能上不受支持的操作:“orElseOptional" 考虑以下模式: 可选resultFromServiceA = serviceA(args);if (resultFromServiceA.isPresent) 返回结果;别的 {可选resultFromServiceB = serviceB(args);如果( ..
发布时间:2021-12-23 21:48:39 Java开发

不可变集和映射上的 JDK9 随机化

阅读这个问题和Eugene 给出的答案,我发现 JDK9 不可变集和映射会引入随机源,影响它们的遍历.这意味着迭代顺序确实是随机的,至少在 JVM 的不同运行中是这样. 由于规范不保证集合和映射的任何遍历/迭代顺序,这绝对没问题.事实上,代码绝不能依赖于特定于实现的细节,而应该依赖于规范. 我知道今天,使用 JDK 8,如果我有一个 HashSet 并执行此操作(取自链接的答案): ..
发布时间:2021-12-21 15:57:22 Java开发

WAR 文件的 Java 9 模块化是否也是如此?

Java EE 7 应用程序服务器,特别是 Servlet 3.1 容器应该允许我们部署包含 Web 应用程序的 WAR 文件.WAR 文件本质上是一个带有部署描述符 (web.xml) 和几个其他元素的 JAR. 另一方面,Java 9 引入了模块化 JAR 文件的概念,即带有模块描述符 (module-info.class) 的 JAR,它使Jigsaw 项目中的模块. 那么,WA ..
发布时间:2021-12-21 12:03:45 Java开发

JavaFX:更新到 Java 9 后出现奇怪的 ClassNotFoundException

我在 Java 8 中启动了一个 Maven 项目,并想将其迁移到 Java 9.同时我也从 Eclipse Neon EE 转到了 Eclipse Oxygen EE.(重新安装了 JFX SDK).虽然 Eclipse 工作区没有显示任何错误;一旦我尝试编译和运行过去在 Java 8 中完美运行的完全相同的程序,我就会得到以下异常: {...}引起:java.lang.ClassNotFou ..
发布时间:2021-12-20 12:39:35 Java开发

如何使用 java.net.http.HttpClient 记录请求/响应?

HttpClient 现在在 Java 11 中是稳定的,但毫不奇怪,似乎很少有项目实际使用它.文档几乎不存在. 进行 HTTP 调用时最常见的问题之一是记录请求/响应.您将如何使用 HttpClient 做到这一点,当然,不用在每次调用时手动记录它?是否有类似所有其他 HTTP 客户端提供的拦截器机制? 解决方案 如果我们查看 jdk.internal.net.http.commo ..
发布时间:2021-12-19 10:47:44 Java开发

由于新的文件夹结构,在 Linux 上的 Intellij IDEA 中将 Java 9 正确设置为 SDK

在你写下我之前,请考虑这些都不是我问题的答案: 如何在 IntelliJ IDEA 中设置 SDK? 如何更改 IntelliJ IDEA 默认 JDK? 在 IntelliJ IDEA 2017.2.6 中,尝试将 JDK9 添加为 SDK 通过但不起作用,因为类路径最终为空.重现步骤: 打开“添加新 SDK 对话框" (转到项目设置 > 项目 > 项目 SDK > 新建 ..
发布时间:2021-12-18 10:36:06 Java开发

Tomcat 7.0.73 不适用于 Java 9

由于 catalina.sh 中的默认“java.endorsed.dirs"选项,无法使用 java 9 启动基于 tomcat 的应用程序. -Djava.endorsed.dirs=/usr/local/share/tomcat/endorsed 不受支持.模块化形式的认可标准和独立 API 将通过可升级模块的概念得到支持.错误:无法创建 Java 虚拟机.错误:发生了致命异常.程序将会退 ..
发布时间:2021-12-16 21:21:52 Java开发

在构建 Java 9 模块的 Gradle 项目中,资源文件在哪里?

从 IDEA 2018.2.1 开始,IDE 启动错误突出显示包“不在模块图中"来自已模块化的依赖项.我在我的项目中添加了一个 module-info.java 文件并添加了必要的 requires 语句,但我现在无法访问我的 src/main/resources 目录中的资源文件. (有关完整示例,请参阅此 GitHub 项目.) 当我使用 ./gradlew run 或 ./gra ..
发布时间:2021-12-15 11:05:09 Java开发

Java 9 + maven + junit:测试代码是否需要自己的 module-info.java 以及将它放在哪里?

假设我有一个使用 Maven 3 和 junit 的 Java 项目.src/main/java 和 src/test/java 目录分别包含主要源和测试源(一切都是标准的). 现在我想将项目迁移到 Java 9.src/main/java 内容代表 Java 9 模块;com/acme/project/module-info.java 看起来大概是这样的: module com.acme ..
发布时间:2021-12-09 16:06:37 Java开发

Java 9 的 Maven 编译问题

尝试使用 JDK 9.0.1 编译 Maven 项目我面临这个堆栈跟踪,没有太多解释: 线程“main"中的异常 java.lang.AssertionError在 jdk.compiler/com.sun.tools.javac.util.Assert.error(Assert.java:155)在 jdk.compiler/com.sun.tools.javac.util.Assert.ch ..
发布时间:2021-12-09 15:41:50 其他开发

Maven 为 JDK9 做好准备了吗?

今天我尝试了 最新的 jdk9 Build 113 并尝试编译 我的项目 使用最新的 Maven 3.3.9 这些是命令(部分通过twitter找到) export MVN_OPTS="-Dmaven.compiler.fork -Dmaven.compiler.executable=/somewhere/Downloads/jdk-9/bin/javac"导出 JAVA_HOME="/s ..
发布时间:2021-12-09 15:25:39 其他开发

有没有办法在使用 maven-jlink-plugin 时添加 maven 依赖项?

我正在使用这个 Githubproject 以了解 Java 9 中的新模块化功能.我想向项目添加依赖项并能够构建本机映像.但是,当我尝试向 pom.xml 添加新的依赖项,并将 requires 语句添加到 module-info.java 时,我从 maven-jlink-plugin 收到以下错误: 错误:找不到 joda.time 模块的 module-info.class 我试图将其 ..
发布时间:2021-12-09 15:23:06 Java开发