假设我有一些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而失败:package2
> javac module-info.java
module-info.java:4: error: package is empty or does not exist: package1
当然,我可以创建目录package1并package2在其中包含虚拟类,但是有更好的方法吗?