Questions tagged «java-11»

使用此标记来解决特定于Java 11的问题,该Java是2018年9月25日发布的Java平台的版本11。在大多数情况下,您还应该指定java标记。


6
如何在Windows上安装OpenJDK 11?
过去,Oracle曾经为Windows发布可执行安装程序,该安装程序将: 解压缩文件 添加表明已安装版本和路径的注册表项 将JRE添加到系统PATH 在Windows上注册卸载程序。 从Java 11开始,Oracle的Java免费版本(Oracle OpenJDK)似乎未包含安装程序。它只是一个包含二进制文件的zip文件。 鉴于上述集成不再存在,我们应该如何在Windows上安装OpenJDK 11?他们不是有必要吗?
269 windows  java-11 

3
为什么Java 11基础Docker映像如此之大?(openjdk:11-jre-slim)
宣布Java 11是最新的LTS版本。因此,我们正在尝试基于此Java版本启动新服务。 但是,Java 11的基本Docker映像比Java 8的等效映像大得多: openjdk:8-jre-alpine:84 MB openjdk:11-jre-slim:283 MB (我只考虑官方的OpenJDK和每个Java版本的最轻量的映像。) 更深入的挖掘发现了以下“事物”: 该openjdk:11-jre-slim图像使用基本图像debian:sid-slim。这带来了两个问题: 比60 MB大 alpine:3.8 在Debian的sid版本是不稳定 openjdk-11-jre-headless镜像中安装的软件包比(运行Docker容器内部)大3倍openjdk8-jre: openjdk:8-jre-alpine: / # du -hs /usr/lib/jvm/java-1.8-openjdk/jre/lib/ 57.5M /usr/lib/jvm/java-1.8-openjdk/jre/lib/ openjdk:11-jre-slim: # du -sh /usr/lib/jvm/java-11-openjdk-amd64/lib/ 179M /usr/lib/jvm/java-11-openjdk-amd64/lib/ 更深入地讲,我发现了这种繁重的“根”-它modules是JDK 的文件: # ls -lhG /usr/lib/jvm/java-11-openjdk-amd64/lib/modules 135M /usr/lib/jvm/java-11-openjdk-amd64/lib/modules 因此,现在出现的问题是: 为什么alpine不再将其用作Java 11超薄映像的基础映像? 为什么不稳定的sid版本用于LTS Java映像? 为什么与类似的OpenJDK 8软件包相比,OpenJDK 11的slim / headless …
144 java  docker  alpine  java-11 

7
无法使用Maven编译简单的Java 10 / Java 11项目
我有一个琐碎的Maven项目: src └── main └── java └── module-info.java pom.xml pom.xml: <groupId>org.example</groupId> <artifactId>example</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <name>example</name> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <release>10</release> </configuration> </plugin> </plugins> </build> 当我通过构建项目时mvn -X install -DskipTests=true,它失败了: org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:testCompile (default-testCompile) on project example: Execution default-testCompile of goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:testCompile failed. at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213) at …

8
如何在Ubuntu下安装JDK 11?
因此Java 11已经发布。有人知道如何从命令行安装它(Oracle的OpenJDK)吗? 我希望看到与Oracle Java 10相似的内容: sudo add-apt-repository ppa:linuxuprising/java sudo apt-get update sudo apt-get install oracle-java10-installer PS在类似问题中建议的指导: sudo apt-get install openjdk-11-jdk 不起作用。
107 java  ubuntu  java-11 

3
Java 11中String trim()和strip()方法之间的区别
在其他更改中,JDK 11为java.lang.String类引入了6种新方法: repeat(int)-重复字符串多次通过所提供的int参数 lines() -使用分隔符从源字符串懒惰地提供行 isBlank() -指示字符串是否为空或仅包含空格字符 stripLeading() -从开头删除空白 stripTrailing() -从末端去除空白 strip() -删除字符串开头和结尾的空格 尤其strip()看起来与十分相似trim()。按照本文的规定, strip*()方法旨在: String.strip(),String.stripLeading()和String.stripTrailing()方法从目标String的正面,背面或正面和背面修剪空白[由Character.isWhiteSpace()确定)。 String.trim() JavaDoc指出: /** * Returns a string whose value is this string, with any leading and trailing * whitespace removed. * ... */ 这几乎与上面的引用相同。 String.trim()和String.strip()Java 11以来的区别到底是什么?
103 java  string  trim  strip  java-11 

4
IntelliJ无法使用OpenJDK 11识别JavaFX 11
我无法让IntellJ识别JavaFX软件包。对于新的JavaFX项目和OpenJDK 11,在尝试构建项目时,IntelliJ无法识别JavaFX软件包。 我已经openjfx:javafx-base-11从Maven仓库导入了。 我看过其他问题,解决方案似乎范围从检查字节码是否处于正确级别(我的是),以及项目语言是否正确(我的是)。 谁有想法? 编辑: 错误:

2
迁移到Java 9 + / Java 11时是否需要切换到模块?
我们目前正在从Java 8迁移到Java11。但是,升级服务的痛苦比我们预期的要轻。我们基本上只需要更改build.gradle文件中的版本号,服务就可以愉快地启动并运行。我们升级了库以及使用这些库的(微)服务。到现在为止没有问题。 是否需要实际切换到模块?这会产生不必要的费用恕我直言。任何建议或进一步的阅读材料表示赞赏。 为了明确起见,如果不使用模块就使用Java 9+代码是否会有后果?它可以例如与其他代码不兼容吗?


4
Eclipse内部错误“轮询新闻提要”
我在MacBook(High Sierra,Java 11)上使用Eclipse(4.9.0)时,有时会显示此错误,如果我在另一个应用程序上,则该错误会在屏幕快照中显示“堆栈”,讨厌再次回到Eclipse并每次都关闭此错误。有人可以帮我解决这个问题吗?

1
为什么不使用自定义比较器从TreeSet中删除,则会删除较大的项集?
同时使用Java 8和Java 11,将以下内容TreeSet与String::compareToIgnoreCase比较器一起考虑: final Set<String> languages = new TreeSet<>(String::compareToIgnoreCase); languages.add("java"); languages.add("c++"); languages.add("python"); System.out.println(languages); // [c++, java, python] 当我尝试删除中存在的确切元素时TreeSet,它起作用:所有指定的元素均被删除: languages.removeAll(Arrays.asList("PYTHON", "C++")); System.out.println(languages); // [java] 但是,如果我尝试删除的内容超过了中的所有内容TreeSet,则该调用根本不会删除任何内容(这不是后续调用,而是被调用了,而不是上面的代码段): languages.removeAll(Arrays.asList("PYTHON", "C++", "LISP")); System.out.println(languages); // [c++, java, python] 我究竟做错了什么?为什么会这样呢? 编辑:String::compareToIgnoreCase是有效的比较器: (l, r) -> l.compareToIgnoreCase(r)

1
Paths.get与Path.of
据我所知,Paths.get并且Path.of似乎做着完全相同的事情,是将一个或多个字符串变成一个Path对象。文档https://docs.oracle.com/javase/8/docs/api/java/nio/file/Paths.html#get-java.lang.String-java.lang.String...-和https: //docs.oracle.com/zh-CN/java/javase/13/docs/api/java.base/java/nio/file/Path.html#of(java.lang.String,java.lang.String ... )使用相同的措词。它们实际上是否相同? Path.of稍后介绍。猜想:引入它是为了保持一致的Foo.of样式。在那种情况下,从一致性/美学角度考虑是否更可取?
20 java  java-11 

3
JDK 11+和Javadoc
Exit code: 1 - javadoc: error - The code being documented uses packages in the unnamed module, but the packages defined in https://docs.oracle.com/en/java/javase/11/docs/api/ are in named modules. 有没有人能够使javadoc工作而不必将源版本更改为1.8(如其他论坛中所建议)?我使用的是JDK v11.0.5,问题仍然存在(JDK 12+也是如此)。 编辑:此错误源于maven,由maven-javadoc-plugin抛出。即使进行了<source>8</source>配置,我也无法使它适用于JDK 11+ 。

8
有条件地从流中删除第一个(索引为零)元素
我有以下代码: Stream<String> lines = reader.lines(); 如果第一个字符串等于"email"我要从流中删除第一个字符串。对于流中的其他字符串,我不需要此检查。 我怎么能做到? 聚苯乙烯 当然,我可以将其转换为列表,然后使用旧式进行循环,但是进一步,我需要再次播放流。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.