首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Java 9向模块路径添加自定义JMOD

使用Java 9向模块路径添加自定义JMOD
EN

Stack Overflow用户
提问于 2016-07-08 12:45:51
回答 1查看 4.8K关注 0票数 9

我用这样的jmod工具创建了一个简单的JMOD文件

代码语言:javascript
复制
$JAVA_HOME/bin/jmod create --class-path classes test/samples.jmod

接下来,我试图通过运行以下命令来执行该模块中的一个类:

代码语言:javascript
复制
java -mp test -m de.mypackage/de.mypackage.Test

这导致了以下例外情况:

代码语言:javascript
复制
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文件吗?如果是这样的话,有什么理由吗?

EN

回答 1

Stack Overflow用户

发布于 2016-08-22 18:37:13

请参阅http://openjdk.java.net/jeps/261#Packaging:-JMOD-files

JMOD文件可以在编译时和链接时使用,但不能在运行时使用。要在运行时支持它们,一般情况下,我们需要随时提取和链接本地代码库。这在大多数平台上都是可行的,尽管它可能非常棘手,而且我们还没有看到很多需要这种功能的用例,所以为了简单起见,我们选择限制JMOD文件在这个版本中的实用价值。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38267059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档