info java module_module-info.java使用maven-compiler-plugin和自动模...

在使用JDK 9.0.1和Maven-Compiler-Plugin v3.7.0时,遇到一个涉及自动模块(Automatic-Module-Name)的编译错误。尽管在Eclipse中module-info.java可以成功编译,但在Maven构建过程中,由于其中一个依赖的jar未正确声明模块名称,导致编译失败。尝试通过`jar --describe-module`命令获取模块描述失败,提示提供者类不在模块中。问题可能源于非Java 9编译的jar使用了ServiceLoader但未定义模块。解决方案需要确定正确的自动模块名称。
摘要由CSDN通过智能技术生成

我正在根据需要使用插件的v3.7.0和JDK 9.0.1.我添加了两个require语句,每个语句都引用类路径(自动模块)中的jar.将罐子移到Modulepath后,module-info.java在Eclipse中成功编译.但是,Maven给我一个编译器错误,指出其中一个缺少(奇怪的是,不是第一个仅在前一行的).我试图检查自动模块名称,但是从该罐子的命令中收到错误消息.此错误是什么意思,我该如何解决以发现正确的模块名称?

我在下面的输出中替换了我的用户名.有问题的jar确实使用ServiceLoader,但未使用Java 9进行编译.

computerName:Commander-java username$jar --file=/Users/username/.m2/repository/com/username/rcf/1.0/rcf-1.0.jar --describe-module

Unable to derive module descriptor for: /Users/username/.m2/repository/com/username/rcf/1.0/rcf-1.0.jar

Provider class com.username.rcf.server.TestCmdChain not in module

computerName:Commander-java username$java -p /Users/username/.m2/repository/com/username/rcf/1.0/rcf-1.0.jar --list-modules

Error occurred during initialization of boot layer

java.lang.module.FindException: Unable to derive module descriptor for /Users/username/.m2/repository/com/username/rcf/1.0/rcf-1.0.jar

Caused by: java.lang.module.InvalidModuleDescriptorException: Provider class com.username.rcf.server.TestCmdChain not in module

How to deal with java keywords in auto generated module names in Java 9?中的答案有一个与在模块名称中使用Java标识符有关的错误.我的模块的自动jar名称应该只是rcf,因为jar名称是rcf-1.0.jar.我得到的错误也不同.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值