如何解决JDK 11模块中的不可变标准语法错误
我有一个项目正在尝试使用不可变标准:https://immutables.github.io/criteria.html
我在pom.xml中添加了以下内容:
<dependency>
<groupId>org.immutables</groupId>
<artifactId>criteria-inmemory</artifactId>
<version>2.8.2</version>
</dependency>
一切似乎都很好。但是,我在导入和工作时遇到了一些问题。我对Immutables.Value没问题,可以正常工作。当我导入Criteria时,Eclipse抱怨:
The type org.immutables.criteria.Criteria is not accessible
所以我尝试将模块添加到我的module-info.java中,如下所示:
requires org.immutables.criteria-common;
也尝试过:
requires org.immutables.criteria-inmemory;
我使用Eclipse建议来自动完成模块名称,因为我真的不知道模块名称应该是什么,但是,当我添加上面的Eclipse时,说的是语法错误,其中的“-”需要声明。所以在这一点上我有点卡住了!如果有人有任何建议,我很想听听他们的建议!
谢谢!
解决方法
我能够使用Immutables Library查明问题,并发布了以下问题:https://github.com/immutables/immutables/issues/1223
基本上,该库在构建jar文件时在pom.xml中创建了无效的 Automatic-Module-Name 标签。我们设置的值包含无效的“-”。
向@Naman大喊,向我指出正确的方向!谢谢!
我仍然想知道是否有可能覆盖jar文件的模块名。对于像这样的情况,库的用户似乎以某种方式覆盖库jar文件的模块名可能很有用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。