Netty-无法访问类 jdk.internal.misc.Unsafe

2024-01-10

当我将 Java 从 8 升级到 11 时,我收到来自 Netty 的错误:"jdk.internal.misc.Unsafe",详细信息如下:

我知道这是一条调试级别消息,我可以更改日志级别以忽略它。但我不确定当我忽略它时是否会出现其他问题 - 例如性能。有谁知道这个问题的最佳解决方案?

java.lang.IllegalAccessException: class io.netty.util.internal.PlatformDependent0$6 cannot access class jdk.internal.misc.Unsafe (in module java.base) because module java.base does not export jdk.internal.misc to unnamed module @84b8f0f
    at jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:361) ~[?:?]
    at java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:591) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:558) ~[?:?]
    at io.netty.util.internal.PlatformDependent0$6.run(PlatformDependent0.java:334) ~[netty-all-4.1.36.Final.jar:4.1.36.Final]
    at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
    at io.netty.util.internal.PlatformDependent0.<clinit>(PlatformDependent0.java:325) ~[netty-all-4.1.36.Final.jar:4.1.36.Final]
    at io.netty.util.internal.PlatformDependent.isAndroid(PlatformDependent.java:214) ~[netty-all-4.1.36.Final.jar:4.1.36.Final]
    at io.netty.util.internal.PlatformDependent.<clinit>(PlatformDependent.java:82) ~[netty-all-4.1.36.Final.jar:4.1.36.Final]
    at io.netty.buffer.UnpooledByteBufAllocator.<clinit>(UnpooledByteBufAllocator.java:37) ~[netty-all-4.1.36.Final.jar:4.1.36.Final]
    at io.netty.buffer.Unpooled.<clinit>(Unpooled.java:73) ~[netty-all-4.1.36.Final.jar:4.1.36.Final]
    at wedo.stream3.framework.base.connector.supplier.DelimiterDecoderSupplier.getDelimiter(DelimiterDecoderSupplier.java:41) ~[classes/:?]
    at wedo.stream3.framework.base.connector.supplier.DelimiterDecoderSupplier.<init>(DelimiterDecoderSupplier.java:26) ~[classes/:?]
    at wedo.stream3.framework.base.connector.supplier.DelimiterDecoderSupplier.<init>(DelimiterDecoderSupplier.java:20) ~[classes/:?]
    at wedo.stream3.framework.base.connector.supplier.CommonChannelHandlerSupplier.<init>(CommonChannelHandlerSupplier.java:37) ~[classes/:?]
    at wedo.stream3.framework.base.connector.supplier.CommonChannelHandlerSupplier.<init>(CommonChannelHandlerSupplier.java:25) ~[classes/:?]
    at wedo.stream3.framework.base.connector.TcpClientConnector.start(TcpClientConnector.java:39) ~[classes/:?]
    at wedo.stream3.framework.bootstrap.FrameworkLauncher.lambda$start$0(FrameworkLauncher.java:61) ~[classes/:?]
    at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) [?:?]
    at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) [?:?]
    at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1654) [?:?]
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) [?:?]
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) [?:?]
    at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) [?:?]
    at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) [?:?]
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) [?:?]
    at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) [?:?]
    at wedo.stream3.framework.bootstrap.FrameworkLauncher.start(FrameworkLauncher.java:58) [classes/:?]
    at org.stream3.prototype.mfc.App.launchFramework(App.java:58) [classes/:?]
    at org.stream3.prototype.mfc.App.main(App.java:41) [classes/:?]

要允许 netty 访问该类,请使用以下选项启动 java:

--add-opens java.base/jdk.internal.misc=ALL-UNNAMED

这将打开包jdk.internal.misc在模块中java.base到未命名的模块。

另请参阅文档java命令 https://docs.oracle.com/en/java/javase/11/tools/java.html, 和这个Java 模块系统简介 https://www.oracle.com/corporate/features/understanding-java-9-modules.html一般来说。

编辑:为了让 Netty 使用其直接缓冲区优化,您还需要设置

-Dio.netty.tryReflectionSetAccessible=true

关于这个主题有许多 Netty 问题,请参见例如netty/问题/7769 https://github.com/netty/netty/issues/7769

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Netty-无法访问类 jdk.internal.misc.Unsafe 的相关文章

随机推荐

  • 在 SQLite LIKE 中转义通配符 (%, _) 而不牺牲索引使用?

    我在 SQLite 查询方面遇到了一些问题 实际上我开始认为 SQLite 不是为超过 10 行的表设计的 真的 SQLite 是一场噩梦 以下查询 SELECT FROM Table WHERE Name LIKE Text 效果很好 E
  • 在微服务架构中扩展数据库

    假设我们有 5 个微服务 S 每个微服务都需要一个包含一些表的数据库 这些服务中的每一个都需要能够扩展 包括数据库查询 为此 据我所知 我们有几个选择 1 1 S 1 个实例 1 个数据库实例 不要水平缩放 只垂直缩放 2 1 S N 个实
  • 我可以为 Travis YAML 配置命令创建 ALIAS 吗? ...“travis 加密 GITHUB_TOKEN=****** --add”?

    我有一个个人访问令牌来自我在许多项目中使用的 Github 由于令牌对我的所有存储库都具有读 写能力 因此我使用Travis 命令行工具 https github com travis ci travis rb readme来加密GITHU
  • Django:检查是否设置了外键属性

    我有以下模型 class A models Model name models CharField max length 50 content type models ForeignKey ContentType 该模型应该是某些继承树中的
  • XML 命名空间和 XPath

    我有一个应用程序 必须根据 XPath 加载 XML 文档和输出节点 假设我从这样的文档开始
  • 空间索引减慢查询速度

    背景 我有一个包含代表客户区域的 POLYGONS MULTIPOLYGONS 的表 该表包含大约 8 000 行 大约 90 的多边形是圆形 其余的多边形代表一个或多个州 省或其他地理区域 这些形状的原始多边形数据是从美国人口普查数据 h
  • 实例化后模板的特化?

    我的完整代码太长 但这里有一个片段可以反映我的问题的本质 class BPCFGParser public class Edge class ActiveEquivClass class PassiveEquivClass struct E
  • 查看 RadioButtonList 是否具有选定值的最佳方法是什么?

    我在用 if RadioButtonList VolunteerType SelectedItem null 或者怎么样 if RadioButtonList VolunteerType Index gt 0 或者怎么样 根据安德鲁 黑尔的
  • tomcat请求的资源()不可用[重复]

    这个问题在这里已经有答案了 我知道这是一个非常常见的问题 因为我在几个论坛中发现了许多与此相关的问题 包括SO 但我还没有找到解决办法 我的 web xml 位于 WEB INF 中
  • 使用下拉列表过滤表(dataTables)

    我正在使用 dataTables jQuery 插件 非常棒 但我无法根据选择框的更改来过滤我的表 功能 document ready function msds table dataTable sPaginationType full n
  • 即使启用了 SSL,Request.URL 也始终返回 http

    我准备了一个 ASP NET Web 应用程序 ASP NET V2 0 并在我的 IIS V7 5 中配置了它 我在我的应用程序中使用了Request Url AbsoluteUri 它在我的服务器中运行良好 我在客户端的服务器计算机 2
  • 找到重叠圆圈的新位置

    我正在尝试编写一个代码 对于给定的圆列表 list1 它能够找到新圆 list2 的位置 list1 和 list2 具有相同的长度 因为对于 list1 中的每个圆 都必须有一个来自 list2 的圆 每对圆 假设 list1 中的 Ci
  • 从插件添加自定义页面模板

    我正在努力构建我的第一个 WordPress 插件 并且需要它为登录屏幕动态添加自定义页面等 我能找到的唯一接近我需要的东西就在这里 WP 使用插件目录中的文件作为自定义页面模板 https stackoverflow com questi
  • 单线程 JavaScript 下的动画

    JavaScript 是一种单线程语言 因此它一次执行一个命令 异步编程是通过以下方式实现的Web APIs 用于事件处理的 DOM 用于 AJAX 调用的 XMLHttpRequest 用于 setTimeout 的 WindowTime
  • 在 Jenkins 中运行 XCodeBuild 时出现代码签名错误

    不重复类似的问题 如下文进一步解释 从 Jenkins 中运行 XCodeBuild 时出现代码签名错误 但它可以从命令行或 Xcode 中构建正常 过去有几个人遇到过这个问题 他们的共同主题是 Jenkins 在启动时作为守护程序用户运行
  • 在 C# 中动态生成委托类型

    我们有一个要求 需要动态生成委托类型 我们需要根据输入参数和输出生成委托 输入和输出都是简单类型 例如 我们需要生成 int Del int int int string and int Del2 int int string int 任何
  • Super POM,Gradle中层次管理的Parent POM类型

    我们目前使用 Maven 作为构建工具 并且有一个迁移到 Gradle 的指令 我们当前的设置是 我们有一个超级 POM 它定义了所有第三方依赖项 各种插件 distributionManagement URL 并且该 POM 已上传到我们
  • 禁用大型项目​​中的组件

    有很多开发人员和初级人员 我想禁用某些组件 例如
  • 如何在 Chrome 浏览器中调试 AngularJS [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在研究 AngularJS 我想在chrome中调试代码 在 Firefox 中 我可以在 Firebug 的帮助下调试它 任何想法 谢
  • Netty-无法访问类 jdk.internal.misc.Unsafe

    当我将 Java 从 8 升级到 11 时 我收到来自 Netty 的错误 jdk internal misc Unsafe 详细信息如下 我知道这是一条调试级别消息 我可以更改日志级别以忽略它 但我不确定当我忽略它时是否会出现其他问题 例