我用这样的 jmod 工具创建了一个简单的JMOD
文件
$JAVA_HOME/bin/jmod create --class-path classes test/samples.jmod
接下来,我尝试通过运行在该模块中执行一个类:
java -mp test -m de.mypackage/de.mypackage.Test
这导致了以下异常:
Error occurred during initialization of VM
java.lang.module.ResolutionException: JMOD files not supported: test/samples.jmod
at java.lang.module.Resolver.findWithBeforeFinder(java.base@9-ea/Resolver.java:729)
at java.lang.module.Resolver.resolveRequires(java.base@9-ea/Resolver.java:86)
at java.lang.module.Configuration.resolveRequiresAndUses(java.base@9-ea/Configuration.java:370)
at java.lang.module.ModuleDescriptor$1.resolveRequiresAndUses(java.base@9-ea/ModuleDescriptor.java:1986)
at jdk.internal.module.ModuleBootstrap.boot(java.base@9-ea/ModuleBootstrap.java:263)
at java.lang.System.initPhase2(java.base@9-ea/System.java:1928)
如果我只是将我的classes
目录(我用来创建 JMOD 文件的目录)设置为模块路径,那么一切都会按预期工作。
模块路径上通常不可能有JMOD
文件吗?如果是这样的话,有什么理由吗?