【问题】mycat同步数据到zookeeper无法加载XmltoZkMain主类

左心房为你撑大大i 提交于 2020-12-07 17:58:27

问题

        在配置好zookeeper后,输入了mycat/bin中的同步数据命令:init_zk_data.sh,出现如下问题。



问题探索

        仔细看这个问题,set HOME_DIR下,第一行是Java8移除了对MaxPermSize的支持,只是个提醒,不用管,主要问题在第二行,找不到这个主类,那么就来找一下这个类,看是否存在。

路径:首先在lib下找到mycat的核心包:



        打开它,按照错误提示中的路径找主类



        可以看到,这个类是存在的。那么为什么错误提示找不到?最有可能的原因,就是路径有问题,回到命令的执行文件,打开它我们可以看到他的结构:



        看完这个之后,有点思路了,pwd保存的是当前的路径,其后所使用的所有路径都是变量替代的,所以出现问题的矛头指向了pwd。我们来输出一下这个MYCAT_HOME:





        问题原因出来了,在根目录下运行这个命令,他的MYCAT_HOME路径是根目录的上级目录,命令文件里复制路径那里就出问题了。因为这个主类包是在MYCAT的lib文件夹中的,它连lib都找不到,更不到主类了。

解决办法

        研究到现在,解决办法也就有了,定位启动目录,在bin目录下启动:



总结

        这篇博客存在的意义并不是这个问题解决起来有多难,而是发现问题了从什么地方去考虑。不要一有问题就直接粘贴到百度,多想想它为什么会出这样的错,多看日志,会成长的更快。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!