假设我有一些图书馆lib.jar
我没有源代码(或者它是用某种非 Java 语言编写的,目前还不知道模块)。lib.jar
不具有module-info.class
我不想将它用作自动模块,所以我想注入module-info.class
进去。
我首先生成module-info.java
使用以下命令:
jdeps --generate-module-info . lib.jar
假设这生成了类似的东西:
module lib {
exports package1;
exports package2;
}
然后我尝试编译它但是javac
失败,因为包package1
and package2
不存在:
> javac module-info.java
module-info.java:4: error: package is empty or does not exist: package1
当然,我可以创建目录package1
and package2
其中有虚拟类,但是有更好的方法吗?
是的,这是可能的--patch-module
选项。此选项最常在运行时使用,但它也可以在编译时使用:
javac --patch-module <module name>=<path to jar> module-info.java
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)