在Java 8及更高版本中,存在使用认可目录(java.endorsed.dirs)的机制,该目录是覆盖JDK内部实现的库的集合。
如何在Java-9中解决此问题?作为认可的迪尔斯在那里哪里被删除?
在JDK 9中,可以使用 可升级模块或将 JAR文件放在类路径中。
在Java的9迁移指南规定:
该
java.endorsed.dirs
系统属性和lib/endorsed
目录不再存在。
如果检测到任何一个,javac
编译器和java
启动器将退出。
如果其中任何一个存在,您将最终找到错误:
<JAVA_HOME>/lib/endorsed is not supported. Endorsed standards and standalone APIs in modular form will be supported via the concept of upgradeable modules. Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit.
删除了这些认可的标准替代机制,以获取模块化运行时映像,现在将使用模块化映像。
模块化映像由模块而不是JAR文件组成。未来,通过可升级模块的概念,仅以模块化形式支持认可的标准和独立的API 。
班Java 9中不推荐使用newInstance: 可替换为 问题是getDeclaredConstructor返回任何构造函数,而不考虑访问级别。 如果我想替换代码中的所有引用(在不同的包/访问级别上),我应该使用getConstructor来获取公共构造函数吗? 与指定参数匹配的公共构造函数的构造函数对象类型 或者我不能批量替换所有发生的事件,因为它需要按大小写替换(如果存在公共构造函数和/或
问题内容: 我试图将字符串分成数组并替换为,但无法做到,我也尝试了String.replaceAll这样的东西。 我想提供一个通往JNI的路径,并且它只能以这种方式读取。 问题答案: 在这种情况下不要使用- 这是用正则表达式指定的,这意味着您需要更多的转义。这应该很好: 请注意,由于Java字符串文字中的原因,反斜杠加倍-因此此处涉及的 实际 字符串是“单反斜杠”和“双反斜杠”-而不是双倍和四倍。
问题内容: 我想知道以下与docker-composer.yml版本3相适应的配置!volume_from不再有效,因此我应该跳过数据量并用顶级卷替换吗? 问题答案: 默认情况下,命名卷允许您在容器之间共享数据。但是重新启动容器后,将数据存储在主机上的同一位置会有些麻烦。但是我们可以使用local- persist docker插件进行修复。 要迁移到版本3,您需要 1)安装本地持久性 docke
问题内容: 如何将值更改为和将值更改为? 当我使用和所有值都更改为最后一个数组值。例: 结果: 问题答案: 这应该为您工作: 输出: 检出此DEMO:http : //codepad.org/b0dB95X5
我只想将一个文件从一个文件夹移动到另一个文件夹(已经知道如何操作),并在这个过程中检查目标文件夹中的所有文件,删除同名文件。 我有两个文件夹/src和/dst。 在/src文件夹中,我有: access.log.1.txt 在文件夹/dst中: “进入。日志1.20171110_115840565311.txt' 当我将/src中的文件移动到/dst时,我想删除/src中名为文件的所有文件,不包括