java-9相关内容

Java 9:将包导出到未命名的模块失败

我正在尝试针对Java 9构建开源项目.有些文件我需要使用反射来访问,但是不能,因为软件包不是由其模块导出的.我使用参数--add-exports将软件包导出到未命名的模块. 我在环境变量_JAVA_OPTIONS中添加了以下参数: -Dsun.reflect.debugModuleAccessChecks=true --add-exports=javafx.graphics/com ..
发布时间:2021-02-10 19:02:52 Java开发

Java 9 ServiceLoader运行时模块的加载和替换

我刚刚阅读了有关Java 9模块系统的信息,我想问一下 ServiceLoader .应用程序启动后,有什么方法可以添加服务实现?如何删除一些服务实现? 用例::我将有一些用于计算内容的应用程序.计算算法将在某些服务(Java 9模块)中定义.在不停止应用程序的情况下,可以采取任何步骤来替换此算法吗?我什么时候才能更换罐子,仅仅是计算会失败,并且我需要捕捉错误并在模块加载完成后重新启动? ..
发布时间:2021-02-10 19:02:46 Java开发

对于Java 9应用程序,如何在Windows上禁用缩放UI?

Java 8中没有适当的 HiDPI支持. 在 Java 9 中,JavaFx应用程序可以正确缩放到它们所在的监视器.例如,如果将我的监视器设置为缩放为150%,则Java应用程序将缩放为150%. 请参阅: http://openjdk.java.net/jeps/263 但是,出于测试目的,我需要能够在Windows 10中使用 java.exe标志来禁用缩放. > 此外, ..
发布时间:2021-02-10 19:02:40 其他开发

是否可以在Java 9中动态加载和卸载jdk和自定义模块?

我是JPMS的初学者,无法理解其动态性.例如,在当前的JVM实例中,moduleA.jar正在运行. moduleA仅需要java.base模块.现在,我要 动态加载需要java.sql模块和moduleC.jar 的moduleB.jar 从moduleB 执行一些代码 从JVM卸载moduleB,java.sql,moduleC并释放所有资源. 可以在Java 9模块系统中完成 ..
发布时间:2021-02-10 19:02:37 Java开发

Java 9中创建了多少个未命名的模块?

我试图了解JPMS的工作原理. 从此处 类路径还没有完全消失.所有JAR(是否为模块化) 并且类路径上的类将包含在“未命名模块"中. 类似于自动模块,它导出所有包并读取所有 其他模块.但是,它显然没有名字.为了那个原因 因此,命名应用程序模块无法要求和读取它. 未命名的模块又可以访问所有其他模块. 请注意...on the classpath will be contained ..
发布时间:2021-02-10 19:02:31 Java开发

如何运行JShell文件?

我想使用JShell运行整个文件,例如: $ jshell my-jshell-skript.java 例如我的my-jshell-skript.java的内容是40 + 2;. 或可执行文件,例如: #!/usr/bin/jshell 40 + 2 现在有可能吗?还是我仍然需要沿用Java-Main-Class的旧方法? 编辑1:Windows问题 在Win ..
发布时间:2021-02-10 19:02:28 Java开发

sun.misc.Unsafe是否在JDK9中公开?

我刚刚尝试了JDK9,发现sun.misc.Unsafe现在不包含本机方法,而是将它们委托给某些jdk.internal.misc.Unsafe,例如: @ForceInline public int getInt(Object o, long offset) { return theInternalUnsafe.getInt(o, offset); } 最新的实际上看起来像旧的 ..
发布时间:2021-02-10 19:02:25 Java开发

Java 9中的JavaLangAccess和SharedSecrets

似乎从Java 9中删除了sun.misc包中的SharedSecrets和JavaLangAccess类. Java 9中是否有这些类提供的功能的替代品? 解决方案 以上两个类均打包在jdk.internal.misc包中. 尝试访问它们的一种方法是使用选项 --add-exports /=( ..
发布时间:2021-02-10 19:02:22 Java开发

如何运行在JShell中作为片段添加的整个Java文件?

我尝试安装JDK 9 Early Access版本172来与JShell一起玩. 当我尝试打开一个简单的Java文件并在将其添加为代码段后执行它时,它只是显示了修改后的类Test并增加了代码段数.您能帮我弄清楚我出了什么问题吗? | Welcome to JShell -- Version 9-ea | For an introduction type: /help intro jsh ..
发布时间:2021-02-10 19:02:19 Java开发

在Java 9中,模块A和B将package.package打包到模块C.

我有三个模块,分别是模块a,模块b和模块c.当我运行我的应用程序时,我得到以下信息: 启动层初始化期间发生错误 java.lang.module.ResolutionException:模块module-a和module-b 将软件包some.package导出到模块module-c 考虑到模块c不会导入some.package以及如何解决它,这是什么意思? 解决方案 好像您已 ..
发布时间:2021-02-10 19:02:11 Java开发

Java:如何解决java.lang.NoClassDefFoundError:javax/xml/bind/JAXBException

我有一些使用JAXB API类的代码,这些类已作为Java 6/7/8中JDK的一部分提供.当我使用Java 9运行相同的代码时,在运行时出现错误,指示找不到JAXB类. 自Java 6以来,JAXB类已作为JDK的一部分提供,那么Java 9为什么不能再找到这些类? 解决方案 JAXB API被视为Java EE API,因此不再包含在Java SE 9的默认类路径中.在Java ..
发布时间:2021-02-09 21:10:33 Java开发

模块和JAR文件之间有什么区别?

我正在从 Java9的新功能了解Java 9讨论中的热门话题之一是模块化JDK . JAR文件模块吗? 模块与JAR文件有何不同? 解决方案 模块:Java 9中引入了新的语言功能(类似于类,接口,包,等等)组成的包,类似于包由类型的集合组成的方式. JAR :一种归档文件格式,捆绑了代码和资源,并且可以由JVM加载. 更具体地说,模块定义如下: 为了以可靠的 ..
发布时间:2021-02-09 20:43:19 Java开发