加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

使用Java 9将自定义JMOD添加到模块路径

发布时间:2020-12-15 03:07:48 所属栏目:Java 来源:网络整理
导读:我用这样的jmod工具创建了一个简单的JMOD文件 $JAVA_HOME/bin/jmod create --class-path classes test/samples.jmod 接下来,我尝试通过运行以下命令在该模块中执行一个类: java -mp test -m de.mypackage/de.mypackage.Test 这导致以下异常: Error occurre
我用这样的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文件)设置为modulepath,那么一切都按预期工作.

通常不可能在模块路径上有JMOD文件吗?如果是这种情况,有什么理由吗?

解决方法

见 http://openjdk.java.net/jeps/261#Packaging:-JMOD-files

JMOD files can be used at compile time and link time,but not at run time. To support them at run time would require,in general,that we be prepared to extract and link native-code libraries on-the-fly. This is feasible on most platforms,though it can be very tricky,and we have not seen many use cases that require this capability,so for simplicity we have chosen to limit the utility of JMOD files in this release.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读