Exception in thread "main" java.lang.NoClassDefFoundError
本来打算在本地电脑测试一下proxy的功能,使用的二进制安装包,没想到怎么都启动不起来,一直报找不到某个类的错误。我还以为是自身的配置有问题,等我copy了网上比较新的配置还是报错后,那就可以排除了配置的问题。
错误:找不到或无法加载主类 github里的issue相关
还得是在issue里找
原因:如果在windows解压,文件名长度可能会超过最大的名字长度限制,导致启动的时候,读取不到对应的jar,证据如下图
如图所示,如果直接手动解压,下载下来的apache-shardingsphere-5.4.0-shardingsphere-proxy-bin.tar.gz包,解压之后apache-shardingsphere-5.4.0-shardingsphere-proxy-bin/lib里的文件名一看就是不全的,如果正确解压,应该是一个executable jar file
解决方法:在命令行,去下载的包所在的目录
tar zxvf apache-shardingsphere-5.4.0-shardingsphere-proxy-bin.tar.gz
执行如下命令,即可解压完整的包
修改conf里的server.yaml,config-sharding.yaml
然后启用start.bat(winodws的启动)
如果要使用,需要一直开启cmd窗口(因为不是守护线程跑的),这个也很容易发现,关闭窗口后,navicat就链接不上了。