rocketMQ5.0启动broker报错:module java.base does not export sun.nio.ch to unnamed module

这篇具有很好参考价值的文章主要介绍了rocketMQ5.0启动broker报错:module java.base does not export sun.nio.ch to unnamed module。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近在搭建RocketMQ5.0,然后按照官方流程:https://rocketmq.apache.org/zh/docs/quickStart/02quickstart

先启动namesrv完,再启动broker的时候遇到以下错误。

java.lang.IllegalAccessError: class org.apache.rocketmq.common.UtilAll (in unnamed module @0x4bde3f8a) cannot access class sun.nio.ch.DirectBuffer (in module java.base) because module java.base does not export sun.nio.ch to unnamed module @0x4bde3f8a
    at org.apache.rocketmq.common.UtilAll.viewed(UtilAll.java:720)
    at org.apache.rocketmq.common.UtilAll.cleanBuffer(UtilAll.java:684)
    at org.apache.rocketmq.store.logfile.DefaultMappedFile.cleanup(DefaultMappedFile.java:470)
    at org.apache.rocketmq.store.ReferenceResource.release(ReferenceResource.java:63)
    at org.apache.rocketmq.store.ReferenceResource.shutdown(ReferenceResource.java:47)
    at org.apache.rocketmq.store.logfile.DefaultMappedFile.destroy(DefaultMappedFile.java:481)
    at org.apache.rocketmq.store.index.IndexFile.destroy(IndexFile.java:97)
    at org.apache.rocketmq.store.index.IndexService.load(IndexService.java:72)
    at org.apache.rocketmq.store.DefaultMessageStore.load(DefaultMessageStore.java:287)
    at org.apache.rocketmq.broker.BrokerController.initialize(BrokerController.java:754)
    at org.apache.rocketmq.broker.BrokerStartup.createBrokerController(BrokerStartup.java:224)
    at org.apache.rocketmq.proxy.ProxyStartup.createBrokerController(ProxyStartup.java:212)
    at org.apache.rocketmq.proxy.ProxyStartup.createMessagingProcessor(ProxyStartup.java:171)
    at org.apache.rocketmq.proxy.ProxyStartup.main(ProxyStartup.java:79)

之前大家如果搭建过老版本的RocketMQ基本都遇到过,因为使用jdk版本高的原因,jdk1.8以上涉及到导包的问题,所以RocketMQ启动命令不兼容。

两个解决路径:

(1)使用jdk1.8 (不推荐,现在jdk都到多少版本了)

(2)修改broker启动命令,强行导包。

因为RocketMQ 5.0的bin/mqbroker启动命令指向的是runserver.sh,所以需要修改runserver.sh,在最后一行修改为以下内容。(看其他人的帖子,老版本的RocketMQ是runBroker.sh?我没安装过,大伙如果方便可以告诉我下是吗?)

文件runsever.sh

rocketMQ5.0启动broker报错:module java.base does not export sun.nio.ch to unnamed module,Rocket 5.0 爬坑记,java,Powered by 金山文档

$JAVA ${JAVA_OPT} --add-exports=java.base/sun.nio.ch=ALL-UNNAMED $@

标记橙色就是新增的。修改保存后,启动broker不再报错。文章来源地址https://www.toymoban.com/news/detail-653419.html

到了这里,关于rocketMQ5.0启动broker报错:module java.base does not export sun.nio.ch to unnamed module的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • RocketMQ主从集群broker无法启动,日志报错

    使用vmWare安装的centOS7.9虚拟机,RocketMQ5.1.3 在rocketMQ的bin目录里使用相对路径的方式启动broker,jps查询显示没有启动,日志报错如下 排查配置文件没有问题,nameServer也已经正常启动 更换绝对路径,启动broker,就可以正常启动  

    2024年02月16日
    浏览(34)
  • 解决Gradle在IDEA中运行Java17的Junit单元测试程序报错:module java.base does not “opens java.lang“ to unnamed module

    gradle在IDEA中使用了JDK17运行springboot3.x等程序的时候使用了反射或ASM等会报错:module java.base does not “opens java.lang” to unnamed module,可以通过在IDEA中设置JVM参数解决此问题: 对于单元测试程序,设置了此参数无效,只能通过修改gradle.build脚本解决此问题,在gradle.build中添加如

    2024年02月16日
    浏览(43)
  • rocketMq启动broker报错找不到或无法加载主类 Files\Java\jdk1.8.0_171\lib\dt.jar;C:\Program]

    假如弹出提示框提示‘错误: 找不到或无法加载主类 xxxxxx’。 将\\\"%CLASSPATH%\\\"加上英文双引号,切勿别加中文双引号 同理 将\\\"%CLASSPATH%\\\"加上英文双引号,切勿别加中文双引号 start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true

    2024年02月12日
    浏览(35)
  • 彻底解决module java.base does not “opens java.io“

    最近在使用android studio导入hbuilder的HBuilder-Integrate-AS工程时候报错,错误消息如下两种。 Failed to notify dependency resolution listener. \\\'void org.gradle.api.artifacts.DependencySubstitutions$Substitution.with(org.gradle.api.artifacts.component.ComponentSelector)\\\' Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsExc

    2024年02月21日
    浏览(23)
  • module java.base does not “opens java.io“ to unnamed module(已解决)

     Android Studio 2022.2.1项目迁移报错1、No variants found for \\\':app\\\'. Check build files to ensure at least one variant exists. at:,2、manifest merger failed with multiple errors see logs,3、module java.base does not “opens java.io“ to unnamed module。 PS:(2022.2.1)新版AS。。。 1,JDK17 2,AGP8.0,我仅更为7.1+ Android SDK B

    2024年02月06日
    浏览(21)
  • cannot access class sun.nio.ch.DirectBuffer (in module java.base) because module java.base does not

    JDK21 Spark3.5.0 使用JDK21做spark开发 启动代码出现 Exception in thread \\\"main\\\" java.lang.IllegalAccessError: class org.apache.spark.storage.StorageUtils$ (in unnamed module @0x461ad730) cannot access class sun.nio.ch.DirectBuffer (in module java.base) because module java.base does not export sun.nio.ch to unnamed module @0x461ad730 报错信息 需要

    2024年02月02日
    浏览(33)
  • 解决Sentinel module java.base does not “opens java.lang“ to unnamed module问题

    提示:这里简述项目相关背景: 例如:服务器使用 java -jar xxx.jar 启动项目,出现Sentinel module java.base does not “opens java.lang“ to unnamed module错误 提示:这里描述项目中遇到的问题: 例如:服务器使用 java -jar xxx.jar 启动项目,出现Sentinel module java.base does not “opens java.lang“ to

    2024年02月16日
    浏览(40)
  • 关于解决module java.base does not “opens java.lang“ to unnamed module @333291e3的办法

    在使用Dubbo和Zookeeper做一个分布式项目时,抛出以下异常: 以下是抛出异常的导致因素: 还有2个Caused by,就不列举了。 导致这个异常发生的原因是使用了JDK17, 方案一:将JDK版本改为1.8即可!!! 方案二:如果使用JDK17,可以在vm options 增加以下运行参数 。 –add-opens java

    2024年02月08日
    浏览(27)
  • RocketMQ(三) broker启动

    RocketMQ源码版本V5.0.0,可兼容之前的版本,因为整理资料的时候,之前的版本,和V5版本有所出入,核心流程基本还是大同小异的。 此前已经总结了NameServer的启动流程源码:现在来了解Broker的启动流程。在RocketMQ启动的时候,首先要启动NameServer,然后再启动Broker。 Broker模块主

    2024年02月08日
    浏览(34)
  • RocketMQ broker启动失败

    版本:4.9.3 现象:NameServer启动没问题,Broker无法启动。 查看日志,没有broker方面的报错,应该是整个服务都没起来。 于是开始网上搜索解决方案: 方案1: 删除store文件夹。 删除之后问题依旧 方案2: 更改broker.conf,加上IP等配置。 发现这些配置已经有了,于是更改无效。

    2024年02月09日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包