异常如图所示:

       先说下发生原因:项目是分布式的服务的。试用jenkins+tomcat集成化自动部署项目:项目中试用了disconf统一配置管理项目所需要的配置文件:jenkins编译完成项目后发到tomcat上脚本启动tomcat:但是每次发布过去第一次启动一直会出现上诉异常:但是手动起一次tomcat后就解决了。但是后续的每一次编译放上去启动之后还是会出现上诉问题。但是如果把本地编译之后的项目(war包)放上去启动却没有问题。这个问题纠缠了我三天;心累(老大和运维一直在催我。。。。。。。。。。),百度说过换zookeeper的jar包。但是没用。后续想到了项目的配置文件加载的问题。

       尝试过的解决方案:

        一 、因为是脚本启动一次。手动启动一次没有问题。所以想过tomcat启动  停掉  启动这样方案去试过。但是还是不行。。。。所以放弃。

        二、考虑到配置文件问题:所以尝试改变过下载路径。直接下载到classpath路径下:但是问题依旧。

        三、 尝试过对配置文件的懒加载:但是还是没有解决问题。问题依旧。

        四、 换过jar包(zookeeper原项目是3.4.6换成3.4.10)还是没有解决

        五、 换过 tomcat版本还是没解决。同时jenkins版本也换过还是没有解决。

       最后解决方案:换了种方式启动。那就是把下载的配置文件放到了一个项目外的目录(比如:我是放在tomcat的webapps下。)项目通过jenkins发送过去之后解压。然后把原来里面的配置 文件复制一份到classpath下。sleep 20S  然后启动tomcat之后解决问题;这个问题比较蛋疼,一直觉得是启动的时候下载配置文件。但是却无法加载到。不知道是不是两个进程同时跑的。

      最后还好是解决问题了。很开心。希望这个能帮助到同样问题的人。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐