无法在 Java 9 中为自动生成的模块名称派生模块描述符?
我的项目依赖于Netty Epoll transport。以下是依赖关系:
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-transport-native-epoll</artifactId>
<version>${netty.version}</version>
<classifier>${epoll.os}</classifier>
</dependency>
此依赖项自动生成的模块名称为:
netty.transport.native.epoll
由于关键字在Java 9中保留,因此我无法将此模块作为依赖项添加到我的项目中:native
module core {
requires netty.transport.native.epoll;
}
由于:
module not found: netty.transport.<error>
此外,jar 工具还会报告以下内容:--describe-module
无法派生以下模块描述符:netty-transport-native-epoll-4.1.17.Final-SNAPSHOT-linux-x86 _64.jar netty.transport.native.epoll: 无效的模块名称:'native' 不是 Java 标识符
是否有任何解决方法?(当然,除了“释放正确的净资产神器”)。
编辑:
作为维护人员的快速修复 - 您可以添加下一行来构建:
<manifestEntries>
<Automatic-Module-Name>netty.transport.epoll</Automatic-Module-Name>
</manifestEntries>