Zhe*_*lov 13 java java-9 java-module module-info
假设我有一些lib.jar我没有源代码的库(或者它是用一些不熟悉模块的非Java语言编写的).lib.jar没有module-info.class,我不想将它用作自动模块,所以我想注入module-info.class它.
我首先module-info.java使用以下命令生成:
jdeps --generate-module-info . lib.jar
Run Code Online (Sandbox Code Playgroud)
假设这产生了类似的东西:
module lib {
exports package1;
exports package2;
}
Run Code Online (Sandbox Code Playgroud)
然后我尝试编译它但javac失败因为包package1而且package2不存在:
> javac module-info.java
module-info.java:4: error: package is empty or does not exist: package1
Run Code Online (Sandbox Code Playgroud)
当然,我可以在其中创建目录package1和package2虚拟类,但是有更好的方法吗?
Zhe*_*lov 14
是的,这可以通过--patch-module选项实现.此选项最常用于运行时,但它也适用于编译时:
javac --patch-module <module name>=<path to jar> module-info.java
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2251 次 |
| 最近记录: |