关于Nacos2.x安装后报 Cannot determine JNI library name for ARCH=‘x86‘ OS=‘windows 11‘ name=‘rocksdb‘

文章讲述了作者在尝试安装Nacos2.x时遇到的JNI库名称错误,该错误与ARCH=x86和OS=windows11有关。尽管使用的是JDK1.8,问题仍然存在。作者怀疑是架构问题,于是下载了x64位JDK并更新了startup.cmd中的JDK路径,最终成功启动Nacos。

关于Nacos2.x安装后报 Cannot determine JNI library name for ARCH=‘x86’ OS=‘windows 11’ name='rocksdb’的错误。

记录一次安装Nacos1.4.4版本不出问题,安装2.x版本失败的问题。
看了很多的相关文档,都说换JDK的版本,可是我的版本就是1.8呀,不知道为什么不行。但奇怪的事,安装
jdk版本

安装步骤

  1. 解压nacos包。
    在这里插入图片描述

  2. 安装后修改对应的配置文件。

① 修改 nacos\conf 下的 application.properties
在这里插入图片描述
② 修改 nacos\bin 下面的 startup.cmd 信息。
在这里插入图片描述
③ 指定了鉴权的key。
在这里插入图片描述
在这里插入图片描述

  1. 排查问题

修改后依然启动失败,一直找不到原因。
在这里插入图片描述

看到官网的推荐版本

  • JDK 版本 1.8 及 以上

  • 数据库版本要求 5.6.5 +
    可是这里我并没有看到出现数据库的版本问题。
    在这里插入图片描述
    后面觉得是不是自己是 x86 为的原因,于是去官网下载了 x64 位的JDK版本。并且指定 startup.cmd 的JDK路径为 64位。

  • 因为JAVA_HOME绑定的是JDK x86的,于是指定JDK的启动路径。

  • 地址:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

然后在启动nacos,显示启动成功!
在这里插入图片描述

Microsoft Windows [版本 10.0.19045.5854] (c) Microsoft Corporation。保留所有权利。 D:\soft\nacos\bin>startup.cmd -m standalone "nacos is starting with standalone" ,--. ,--.'| ,--,: : | Nacos 2.5.0 ,`--.'`| ' : ,---. Running in stand alone mode, All function modules | : : | | ' ,'\ .--.--. Port: 8848 : | \ | : ,--.--. ,---. / / | / / ' Pid: 42064 | : ' '; | / \ / \. ; ,. :| : /`./ Console: http://192.168.180.1:8848/nacos/index.html ' ' ;. ;.--. .-. | / / '' | |: :| : ;_ | | | \ | \__\/: . .. ' / ' | .; : \ \ `. https://nacos.io ' : | ; .' ," .--.; |' ; :__| : | `----. \ | | '`--' / / ,. |' | '.'|\ \ / / /`--' / ' : | ; : .' \ : : `----' '--'. / ; |.' | , .-./\ \ / `--'---' '---' `--`---' `----' 2025-06-09 04:12:25,411 INFO Tomcat initialized with port(s): 8848 (http) 2025-06-09 04:12:25,820 INFO Root WebApplicationContext: initialization completed in 4469 ms 2025-06-09 04:12:30,337 WARN Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'switchManager' defined in URL [jar:file:/D:/soft/nacos/target/nacos-server.jar!/BOOT-INF/lib/nacos-naming-2.5.0.jar!/com/alibaba/nacos/naming/misc/SwitchManager.class]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.alibaba.nacos.naming.misc.SwitchManager]: Constructor threw exception; nested exception is java.lang.ExceptionInInitializerError 2025-06-09 04:12:30,380 INFO Nacos Log files: D:\soft\nacos\logs 2025-06-09 04:12:30,382 INFO Nacos Log files: D:\soft\nacos\conf 2025-06-09 04:12:30,383 INFO Nacos Log files: D:\soft\nacos\data 2025-06-09 04:12:30,385 ERROR Startup errors : org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'switchManager' defined in URL [jar:file:/D:/soft/nacos/target/nacos-server.jar!/BOOT-INF/lib/nacos-naming-2.5.0.jar!/com/alibaba/nacos/naming/misc/SwitchManager.class]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.alibaba.nacos.naming.misc.SwitchManager]: Constructor threw exception; nested exception is java.lang.ExceptionInInitializerError at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:306) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:287) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:336) at org.springframework.beans.factory.support.AbstractBeanFactory$$Lambda$215/15088350.getObject(Unknown Source) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:334) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:209) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:591) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:409) at org.springframework.boot.SpringApplication.run(SpringApplication.java:308) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1300) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1289) at com.alibaba.nacos.Nacos.main(Nacos.java:46) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49) at org.springframework.boot.loader.Launcher.launch(Launcher.java:108) at org.springframework.boot.loader.Launcher.launch(Launcher.java:58) at org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:467) Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.alibaba.nacos.naming.misc.SwitchManager]: Constructor threw exception; nested exception is java.lang.ExceptionInInitializerError at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:226) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:117) at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:302) ... 28 common frames omitted Caused by: java.lang.ExceptionInInitializerError: null at org.rocksdb.RocksDB.loadLibrary(RocksDB.java:71) at org.rocksdb.RocksDB.<clinit>(RocksDB.java:36) at com.alipay.sofa.jraft.storage.impl.RocksDBLogStorage.<clinit>(RocksDBLogStorage.java:69) at com.alipay.sofa.jraft.core.DefaultJRaftServiceFactory.createLogStorage(DefaultJRaftServiceFactory.java:51) at com.alipay.sofa.jraft.core.NodeImpl.initLogStorage(NodeImpl.java:579) at com.alipay.sofa.jraft.core.NodeImpl.init(NodeImpl.java:1004) at com.alipay.sofa.jraft.core.NodeImpl.init(NodeImpl.java:141) at com.alipay.sofa.jraft.RaftServiceFactory.createAndInitRaftNode(RaftServiceFactory.java:47) at com.alipay.sofa.jraft.RaftGroupService.start(RaftGroupService.java:129) at com.alibaba.nacos.core.distributed.raft.JRaftServer.createMultiRaftGroup(JRaftServer.java:260) at com.alibaba.nacos.core.distributed.raft.JRaftProtocol.addRequestProcessors(JRaftProtocol.java:163) at com.alibaba.nacos.naming.misc.SwitchManager.<init>(SwitchManager.java:96) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:408) at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:213) ... 30 common frames omitted Caused by: java.lang.UnsupportedOperationException: Cannot determine JNI library name for ARCH='x86' OS='windows 8.1' name='rocksdb' at org.rocksdb.util.Environment.getJniLibraryName(Environment.java:215) at org.rocksdb.NativeLibraryLoader.<clinit>(NativeLibraryLoader.java:23) ... 47 common frames omitted 2025-06-09 04:12:30,387 WARN [WatchFileCenter] start close 2025-06-09 04:12:30,387 WARN [WatchFileCenter] start to shutdown this watcher which is watch : D:\soft\nacos\conf 2025-06-09 04:12:30,388 WARN [WatchFileCenter] already closed 2025-06-09 04:12:30,388 INFO [NotifyCenter] Start destroying Publisher 2025-06-09 04:12:30,389 INFO [NotifyCenter] Completed destruction of Publisher 2025-06-09 04:12:30,389 ERROR Nacos failed to start, please see D:\soft\nacos\logs\nacos.log for more details. 2025-06-09 04:12:30,403 INFO Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2025-06-09 04:12:30,451 ERROR Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'switchManager' defined in URL [jar:file:/D:/soft/nacos/target/nacos-server.jar!/BOOT-INF/lib/nacos-naming-2.5.0.jar!/com/alibaba/nacos/naming/misc/SwitchManager.class]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.alibaba.nacos.naming.misc.SwitchManager]: Constructor threw exception; nested exception is java.lang.ExceptionInInitializerError at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:306) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:287) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:336) at org.springframework.beans.factory.support.AbstractBeanFactory$$Lambda$215/15088350.getObject(Unknown Source) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:334) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:209) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:591) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:409) at org.springframework.boot.SpringApplication.run(SpringApplication.java:308) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1300) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1289) at com.alibaba.nacos.Nacos.main(Nacos.java:46) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49) at org.springframework.boot.loader.Launcher.launch(Launcher.java:108) at org.springframework.boot.loader.Launcher.launch(Launcher.java:58) at org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:467) Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.alibaba.nacos.naming.misc.SwitchManager]: Constructor threw exception; nested exception is java.lang.ExceptionInInitializerError at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:226) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:117) at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:302) ... 28 common frames omitted Caused by: java.lang.ExceptionInInitializerError: null at org.rocksdb.RocksDB.loadLibrary(RocksDB.java:71) at org.rocksdb.RocksDB.<clinit>(RocksDB.java:36) at com.alipay.sofa.jraft.storage.impl.RocksDBLogStorage.<clinit>(RocksDBLogStorage.java:69) at com.alipay.sofa.jraft.core.DefaultJRaftServiceFactory.createLogStorage(DefaultJRaftServiceFactory.java:51) at com.alipay.sofa.jraft.core.NodeImpl.initLogStorage(NodeImpl.java:579) at com.alipay.sofa.jraft.core.NodeImpl.init(NodeImpl.java:1004) at com.alipay.sofa.jraft.core.NodeImpl.init(NodeImpl.java:141) at com.alipay.sofa.jraft.RaftServiceFactory.createAndInitRaftNode(RaftServiceFactory.java:47) at com.alipay.sofa.jraft.RaftGroupService.start(RaftGroupService.java:129) at com.alibaba.nacos.core.distributed.raft.JRaftServer.createMultiRaftGroup(JRaftServer.java:260) at com.alibaba.nacos.core.distributed.raft.JRaftProtocol.addRequestProcessors(JRaftProtocol.java:163) at com.alibaba.nacos.naming.misc.SwitchManager.<init>(SwitchManager.java:96) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:408) at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:213) ... 30 common frames omitted Caused by: java.lang.UnsupportedOperationException: Cannot determine JNI library name for ARCH='x86' OS='windows 8.1' name='rocksdb' at org.rocksdb.util.Environment.getJniLibraryName(Environment.java:215) at org.rocksdb.NativeLibraryLoader.<clinit>(NativeLibraryLoader.java:23) ... 47 common frames omitted 2025-06-09 04:12:30,458 INFO [ThreadPoolManager] Start destroying ThreadPool 2025-06-09 04:12:30,459 INFO [ThreadPoolManager] Completed destruction of ThreadPool D:\soft\nacos\bin>
06-10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值