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

来源:互联网 发布:鼠标推荐 知乎 编辑:程序博客网 时间:2024/06/06 00:18

问题

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


问题探索

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

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


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


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


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



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

解决办法

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


总结

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

原创粉丝点击