java - java在模块导出补丁包时抛出InvalidModuleDescriptorException
问题描述
java
java.lang.module.InvalidModuleDescriptorException
当module-info.class
模块路径中的目录中的 a 导出不在同一目录下的包时, 10.0.2+13 会抛出 a 。
在许多情况下,这是明智的行为,但在我的情况下,我将包放在另一个目录下,该目录使用--patch-module
.
例子:
模块m
在文件中定义classes/m/module-info.class
。
m
出口包p
。
module-info.class
是 directory 的唯一孩子classes/m
。
目录classes/patch
包含p/Main.class
.
简化的命令行:
java --module-path classes/m --patch-module m=classes/patch --module m/p.Main
上面会抛出一个java.lang.module.InvalidModuleDescriptorException
说“在模块中找不到包 p”。
有什么方法可以java
不抛出InvalidModuleDescriptorException
,而不必将class
文件从classes/m
&复制classes/patch
到同一目录或同一jar
文件中?
解决方案
推荐阅读
- python - 使用 Spark DataFrames 对多个字符串分类特征进行 one-hot 编码
- c# - Lerp 没有平移而是直接移动物体
- terraform - 有没有办法在 terraform 中忽略 vsphere 数据存储端的磁盘配置更改?
- go - Golang - 为什么总是 ItoA 在返回字符串时删除初始 0
- c++ - 一个关于字符串最大子序列的程序
- python - 在几个不同的文件路径上运行循环
- python-3.x - 打印不带括号和逗号的列表和另一个变量
- python - 替换数据框中缺失的日期,我应该使用零、最小日期还是平均值?
- c++ - 为什么 Gun *gun=&machinegun 有效,但 *gun=&machinegun 无效?
- c# - 单选按钮列表选择的不连贯回发行为