java-9相关内容

JPMS/Jigsaw模块中缺少主类

我正在尝试创建一个模块化的可执行JAR文件,该文件可以在Java 9.0.1上使用java -p -m 运行。 使用jar cfe test.jar test.Main -C classes/ .创建JAR时,这会正常工作,但在使用mvn package和mvn assembly:single生成JAR时,会抛出module test does not ..
发布时间:2022-09-24 15:17:32 Java开发

如何通过向我的项目编译器传递--patch-MODULE javac选项,让Eclipse在JDK 9+上编译打了补丁的模块?(见图)

Eclipse必须允许这样做,因为来自JDK的javac允许这样做,而不需要我联系CIA以获得批准。如果ECLIPSE不允许这样做,那么其他Java IDE会允许我这样做吗?最糟糕的情况是,我将只使用emacs和终端。 屏幕截图: 推荐答案 大部分相关信息已经在评论中给出,我主要是用一些背景和一些链接进行总结: 首先,Eclipse不接受源文件夹中名为java.base的文件夹 ..
发布时间:2022-09-24 10:54:47 Java开发

为什么模块路径上的模块必须使用--Add-Models?

一个例子:自从从JDK中删除了JavaFX,现在JavaFX SDK以一组模块化JAR的形式分发。要编译一个JavaFX应用程序,当然必须将它们放在模块路径上: javac -p /path/to/jars/ App.java 然而,这还不够。尝试编译将导致许多类似 的错误 sample/App.java:3: error: package javafx.application is ..

在Gradle中编译一个JDK 8项目+一个JDK 9模块-info.java

我正在开发一个面向JDK 8的Java库,我正在使用OpenJDK 11在Gradle 5中构建它。为了面向JDK 8,我是javac的--release选项。 但是,我也希望我的库与JPMS兼容。换句话说: 我想提供一个用--release 9(Stephen Colebourne's scale中的选项3)编译的module-info.class, 而其余所有内容都是用--relea ..
发布时间:2022-09-21 12:42:31 Java开发

对象与可选,哪个更可取?

使用许多新方法扩展了java.util.Objects类 Objects#requireNonNullElse 分别 Java-9中的Objects#requireNonNullElseGet()。 如果第一个参数为非空,则两者都将返回第一个参数,否则将返回第二个非空参数或Supplier.get()的非空值 jshell> String nullStr = null ..
发布时间:2022-05-06 21:37:15 Java开发

Java 9 迁移问题 - 包 com.mymodule 在未命名的模块中声明,模块“newmodule"不读取它

我创建了一个具有以下结构的多模块项目 我的项目|- 我的模块|- 源|- 主要|- 爪哇|- com|- 我的模块|- 实用程序.java|-新模块|-src|-主要|-java|-com|-新模块|- 主.java|-模块信息.java 现在我想使用 Util.java,它是模块化模块 newmodule 中的非模块化代码.我已经在 newmodule 中声明了以下内容 模块新模块{需要 ..
发布时间:2022-01-23 10:12:59 Java开发

了解 Java 8 和 Java 9 中的顺序与并行流拆分器

一个乍一看并不简单的关于拆分器的问题. 在流中,.parallel() 改变流处理的行为.但是,我期望从顺序流和并行流创建的拆分器是相同的.例如,通常在顺序流中,从不调用 .trySplit(),而在并行流中,它是为了将拆分拆分器移交给另一个线程. stream.spliterator() 与 stream.parallel().spliterator() 的区别: 他们可能有不 ..
发布时间:2022-01-22 10:40:14 Java开发

为什么使用流的这段代码在 Java 9 中的运行速度比 Java 8 快得多?

我在解决 欧拉计划.问题如下: 彼得有九个四面(金字塔形)骰子,每个骰子的面编号为 1、2、3、4.Colin 有六个六面(立方)骰子,每个骰子的面编号为 1、2、3、4、5、6. Peter 和 Colin 掷骰子并比较总分:总分最高的获胜.如果总分相等,则为平局. 金字塔皮特击败立方科林的概率是多少?以 0.abcdefg 的形式给出你的答案,四舍五入到小数点后七位 我 ..
发布时间:2022-01-22 10:39:53 Java开发

如何在 java 流中对 groupBy 应用过滤

如何先分组,然后使用 Java 流应用过滤? 示例:考虑这个 Employee 类:我想按部门分组,列出工资大于 2000 的员工. 公共类员工{私人弦乐部门;私人整数工资;私有字符串名称;//getter 和 setter公共雇员(字符串部门,整数工资,字符串名称){this.department = 部门;this.salary = 薪水;this.name = 名称;}} 我可以这 ..
发布时间:2022-01-22 10:09:55 Java开发

如何在 Maven 中表达对 java ee 特性的依赖以过渡到 Java 9?

我们使用 maven 并拥有依赖于其他内部工件的工件.我正在迁移到 java-9,并打算首先将所有内容迁移到 Java 9 而不模块化代码(即在未命名的模块中). 我遇到的问题是我们依赖于 java.xml.bind,它现在不包含在默认模块中.是否有一种“正确"的方式来表达对 java.xml.bind 的这种依赖关系? 解决方案 模块系统会说话在您从类路径加载应用程序的情况下,未命 ..
发布时间:2022-01-19 09:08:12 Java开发

SonarQube 是否支持 Java9?

这个问题实际上是双重的: 能否使用 SonarQube分析 Java9 项目? SonarQube 本身能否在 Java9 JVM 上运行? Java8 的同样问题 解决方案 TL;DR: YES!!!它支持分析,显然自 2017 年 7 月 3 日起(但他们拼命试图隐瞒事实......) 截至目前(2017 年 10 月 24 日,SonarQube 版本 6.6), ..
发布时间:2022-01-17 22:05:52 Java开发

如果元素重复,为什么 Set.of() 会抛出 IllegalArgumentException?

在 Java 9 中,在 Set 接口上引入了新的静态工厂方法,称为 of(),它接受多个元素,甚至是一个元素数组. 我想将一个列表变成一个集合以删除集合中的任何重复条目,这可以使用以下方法完成(在 Java 9 之前): 设置set = new HashSet();set.addAll(列表); 但我认为使用这种新的 Java 9 静态工厂方法会很酷: Set.of(list.t ..
发布时间:2022-01-17 18:44:33 Java开发

如何将 org.eclipse.swt(和其他插件依赖项)添加为自动 Java9 模块?

为了能够将我的 Eclipse 插件“treezCore"也用作 Java9 模块,我在我的 src 文件夹中创建了一个 module-info.java. 此外,我将插件依赖项从类路径移至模块路径.我可以在插件依赖项中看到一个模块“org.eclipse.swt.3.106.1.v20170926": 但是,我无法在我的 module-info.java 中引用该模块.我试过了 需 ..

G1垃圾回收器的String Deduplication功能是否默认开启?

JEP 192:G1 中的字符串重复数据删除 在 Java 8 中实现更新 20 添加了新的字符串重复数据删除功能: 通过增强 G1 垃圾收集器减少 Java 堆实时数据集,以便自动连续删除重复的 String 实例. JEP 页面提到命令行选项 UseStringDeduplication (bool) 允许启用或禁用去重功能.但是 JEP 页面并没有指示默认值. ➠ 在与 J ..
发布时间:2022-01-16 12:39:53 Java开发