我正在将我们的生产代码中的Java版本从Java 8升级到Java 11。 由于使用了第三方库,如flume、zookeeper等,我必须在应用程序的Java启动命令中添加以下JDK模块配置。 --add-opens java.base/java.lang=ALL-UNNAMED --ad...
我正在阅读InfoQ上引用Reinhold的这篇文章: 在Java 9中,开发者仍然可以使用Java类路径来搜索类和资源文件。只是在Java 9的模块化系统中,开发者不再需要类路径。 那么现在我的问题是:在Java 9中,如何正确执行上述任务?如何动态加载例如图片(而不是纠缠于相对路径...
Java 9 中最大的特性之一是由Jigsaw项目定义的模块系统。在阅读来自JavaOne 2015中Jigsaw项目:Under the Hood的幻灯片时,我注意到以下源代码:// src/java.sql/module-info.java module java.sql { exp...
在我的多模块项目中,我只为几个模块创建了module-info.java文件。使用maven-compiler-plugin:3.7.0进行编译时,我收到了以下警告: [WARNING] * 检测到基于文件名的自动模块。请不要将此项目发布到公共构件存储库! * 这是什么意思?是因为...
目前,我们一直在使用Findbugs JSR-305注释(com.google.code.findbugs:jsr305),并且一切都很好,包括工具支持(Sonar、Eclipse、Findbugs等)。 然而,我们了解到Java 9中的Jigsaw将会破坏JSR-305注释(不允许一个包在...
当我编译一个依赖于先前编译的其他模块的模块时,我必须指定 --module-path <directory> 选项。这使我依赖的模块可见。 但同时,我也想让一些非模块化的Jar文件可见。然而,如果我不将它们变成自动模块,只是在 --module-path <director...
我有一个使用Maven和Java的多模块项目。现在,我正在尝试迁移到Java 9/10/11并实现模块(如JSR 376: Java Platform Module System,JPMS)。由于该项目已经由Maven模块组成,并且依赖关系很简单,因此为项目创建模块描述符相当直接。 现在,每...
我在Linux机器上使用jlink创建了运行时映像。我看到include文件夹下有linux文件夹。这是否意味着我只能在Linux平台上使用此运行时映像?如果是,是否有办法在一个平台上为另一个平台创建运行时映像(例如,在Linux上为Windows创建,反之亦然)?
随着Java 9即将发布,我认为将我的一些项目移植到Java 9是一个不错的学习练习。在我的某个项目中,我有关于rxjava和rxjavafx的依赖。dependencies { compile 'io.reactivex:rxjava:1.2.6' compile 'io.r...
背景 Maven中,一个构件可以声明依赖关系: <optional>true</optional> 这意味着依赖项不是必需的,但如果存在则可以使用它。 模块系统的现状似乎指定一个模块只能读取它所要求的模块。 问题: - Java 9模块系统确实不支持可选依...