How to make Eclipse compile patched modules on JDK 9+ by passing the --patch-module javac option to my project compiler? (see pic)(如何通过向我的项目编译器传递--patch-MODULE javac选项,让Eclipse在JDK 9+上编译打了补丁的模块?(见图))
问题描述
Eclipse必须允许这样做,因为来自JDK的javac允许这样做,而不需要我联系CIA以获得批准。如果ECLIPSE不允许这样做,那么其他Java IDE会允许我这样做吗?最糟糕的情况是,我将只使用emacs和终端。 屏幕截图:
推荐答案
大部分相关信息已经在评论中给出,我主要是用一些背景和一些链接进行总结:
首先,Eclipse不接受源文件夹中名为java.base
的文件夹。这种布局由javac的多模块模式使用,但在像Eclipse这样的IDE中不需要这种模式,因为我们有用于对模块进行分组的项目。特别是,Eclipse要求每个项目最多包含一个模块。现在,您可以自由地(A)将src/main/java/java.base
定义为源文件夹,或(B)将其内容上移一级(这样,包就像过去一样直接从src/main/java
开始)。
--patch-module
the UI has been revamped in Eclipse 2019-06这样的选项,所以我建议升级Eclipse(如果还没有升级的话)。然后,您将在Java Build Path configuration dialog中找到一个名为"模块依赖项"的新选项卡,您可以在其中将项目标记为正在修补java.base
。(来自旧版本的Eclipse的方法是:在要修补的库下面找到一个节点"is Modular",然后编辑(双击)其详细信息。迁移期间仍支持此模式,但不再推荐使用)。
第三,用于构建/编译(顾名思义:)的Java构建路径在启动时也应该受到尊重。为确保编译时和运行时看到相同的选项集,两个对话框(Java生成路径和运行方式...)都有一个按钮,用于显示已配置选项的文本形式(在生成路径配置中称为JPMS选项)。
这篇关于如何通过向我的项目编译器传递--patch-MODULE javac选项,让Eclipse在JDK 9+上编译打了补丁的模块?(见图)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何通过向我的项目编译器传递--patch-MODULE javac选项,让Eclipse在JDK 9+上编译打了补丁的模块?(见图)
- Safepoint+stats 日志,输出 JDK12 中没有 vmop 操作 2022-01-01
- value & 是什么意思?0xff 在 Java 中做什么? 2022-01-01
- Eclipse 插件更新错误日志在哪里? 2022-01-01
- 从 finally 块返回时 Java 的奇怪行为 2022-01-01
- C++ 和 Java 进程之间的共享内存 2022-01-01
- Java包名称中单词分隔符的约定是什么? 2022-01-01
- Spring Boot连接到使用仲裁器运行的MongoDB副本集 2022-01-01
- 如何使用WebFilter实现授权头检查 2022-01-01
- Jersey REST 客户端:发布多部分数据 2022-01-01
- 将log4j 1.2配置转换为log4j 2配置 2022-01-01