我的项目取决于Netty Epoll传输。这是依赖关系:
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-transport-native-epoll</artifactId>
<version>${netty.version}</version>
<classifier>${epoll.os}</classifier>
</dependency>
此依赖项的自动生成的模块名称是:
netty.transport.native.epoll
由于native
关键字是在Java 9中保留的,因此我无法将此模块作为依赖项添加到我的项目中:
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标识符
有没有解决方法?
发布于 2018-03-20 15:10:03
由于规范中定义的模块声明为:
模块声明引入了一个模块名称,可以在其他模块声明中使用它来表示模块之间的关系。模块名称由一个或多个由“。”分隔的Java标识符(§3.8)组成。令牌。
这些声明表明,
在某些情况下,Internet域名可能不是有效的软件包名称。以下是处理这些情况的一些建议惯例:
int _; // is would throw error on javac based out of JDK9
int _native; // works fine
https://stackoverflow.com/questions/-100004276
复制相似问题