java-9相关内容

为什么选择Jigsaw / JPMS?

Java的包管理系统对我来说似乎总是简单而有效。 JDK本身大量使用它。我们一直在使用它来模仿命名空间和模块的概念。 什么是 Project Jigsaw (又名 Java平台模块系统)试图填写? 来自官方网站: 本项目的目标是为Java SE平台设计和实现标准模块 系统,并将该系统应用于 平台本身和JDK。 解决方案 在Jigsaw的情况下,粗粒度模块包括Jav ..
发布时间:2018-12-25 20:08:47 Java开发

Eclipse IDE的Java Build Path已更改。我选择哪个?

我正在尝试关注Selenium的一些教程,但此时却感到难过。 右键单击“项目”,然后选择“属性”。 在Properties对话框中,单击“Java Build Path”。 单击Libraries选项卡,然后单击 单击“Add external JARs .. 添加外部JARS按钮显示为灰色,并禁用。 对话框显示Modulepath和Classpath。 如果我选择其中任何一个, ..
发布时间:2018-12-22 20:33:15 Java开发

在没有拆分包的情况下实现(编译时)插件架构

在过去的问题中,我询问了如何设计系统: 一个类包含一个或多个可选方法。 可选方法由插件实现,编译时可能存在或不存在。 如果用户在编译时调用其关联插件不存在的方法,则会出现编译时错误。 我提供了适用于Java 8的一种可能的解决方案。 不幸的是,这个解决方案取决于使用Java 9模块系统不允许的拆分包(导出相同包的两个模块)。 如何在Java 9中实现? 解决方案 ..
发布时间:2018-12-22 19:39:12 Java开发

Java 9中的JRE文件夹在哪里?

Java 9中的JRE文件夹在哪里?我在某些网站上看到JRE存在于一个单独的分发文件夹中。但它位于何处? 解决方案 JDK和JRE运行时映像已在JDK 9中重新构建.JDK运行 - 时间图像不再包含“jre”子目录。 重组摘要记录在JDK 9发行说明中(模块化运行时图像说明)。 JEP 220 记录了动机和所有细节。新布局。 自2014年底以来,JDK 9早期访问版本已经 ..
发布时间:2018-12-20 22:54:22 Java开发

使用java 9找不到log4j2配置文件

我有一个Java 8项目,我的配置文件在资源文件夹中,一切正常。现在我切换到Java 9,添加了对 log4j.api 的要求,并且再也找不到配置文件了。 我是否需要在我的 module-info 文件中添加其他东西,以便记录器找到它的配置? 现在,它就像这样 module project.main { 需要jdk.incubator.httpclient; 需要jackso ..
发布时间:2018-12-19 21:26:13 Java开发

Mockito,Java 9和java.lang.ClassNotFoundException:sun.reflect.ReflectionFactory

我的项目是Wildfly 13应用程序,它使用Mockito测试库。该应用程序不使用Java 9模块结构。只要服务器在Java 8上运行,测试工作正常,但是一旦我们升级到Java 9,它们就会失败并出现以下异常: org.objenesis.ObjenesisException:java.lang.ClassNotFoundException:sun.reflect.ReflectionF ..
发布时间:2018-12-17 11:35:14 Java开发

如何在Map.of工厂中保留插入顺序?

Java 9提供了 Map.of()功能,可以轻松创建具有固定值的地图。 问题:我想创建一个保留插入顺序的地图,如 LinkedHashMap 。这个工厂有可能吗?至少 map.of()不保存订单...... 解决方案 确实没有类似 LinkedHashMap :: of 的工厂方法,并且 Map 没有订单本身,所以我看到的唯一方法是建立一个 LinkedHashMap 如果你真的需 ..
发布时间:2018-12-17 10:58:59 Java开发

为什么不允许导出整个模块?

在Java 9的模块声明中有2个构造: exports com.foo; 和 打开com.foo; 其中 exports 授予编译时访问权限,而打开允许运行时访问,作为反射和资源。 打开对 exports 有一个宽容,您可以将整个模块定义为打开,结果与显式打开每个包相同: open module com.mod { ..
发布时间:2018-12-17 10:25:39 Java开发

密钥库不适用于Java 9

我已经使用portecle将JKS密钥库转换为P12格式,但它可能并不顺利。密钥库使用Java 8(各种版本),但使用Java 9(OpenJDK 64位服务器VM(构建9内部+ 0-2016-04-14-195246.buildd.src,混合模式),我得到了 java.io.IOException:sun.security.provider.JavaKeyStore.engineLoa ..
发布时间:2018-12-12 19:41:33 Java开发

数组转换Java 8与Java 9

有没有人能够深入了解此代码在java 8上的工作原理,而不是java 9上的原因 String [] strings =( String [])Arrays.asList(“foo”,“bar”)。toArray(); for(String string:strings){ System.out.println(string); } 我知道我们可以在执行toArr ..
发布时间:2018-12-12 18:57:08 Java开发

for循环中的字符串连接。 Java 9

如果我错了,请纠正我。在Java 8中,出于性能原因,当通过“+”运算符连接多个字符串时,调用了StringBuffer。创建一堆中间字符串对象并污染字符串池的问题已“解决”。 Java 9怎么样? 有一个新功能添加为Invokedynamic。还有一个新的类可以更好地解决问题,StringConcatFactory。 String result =“”; List ..
发布时间:2018-12-12 18:46:43 Java开发