问题
在进行项目开发时,我们会在自己环境进行开发以及调试,调试完成后再替换到开发组的测试环境中进行进一步的功能验证。在这个过程当中,我们可能需要替换以及增加一些class文件以及引入新的依赖jar包
。一般替换和增加class
文件不会出现多大的问题,只要在对应的目录结构下进行替换以及增加即可。但是在增加jar包
的时候容易出现问题。当我将新开发的class
文件替换到环境中后,再将新引入的jar包
增加到项目中去后,重启当前的web服务后,发现自己的服务启动失败了。查看启动日志发现如下错误。
一看错误日志就知道是没有依赖的类造成bean注册失败,进而导致服务启动失败。分析了下可能和新引入的influxdb-java-2.10.jar
包有关系,看了下该jar包
的pom依赖情况。
发现我只将依赖的influxdb-java-2.10.jar
增加到了项目路径中,但是该jar包
实际还引入了其他的jar包
。所以在服务启动进行bean创建的时候,所依赖的jar包
不存在就会报上述的错误,从而导致整个服务启动失败。原因是mvn打包的时候会将jar包
依赖的jar包
一并下载下来。但是手动替换的时候要也别注意该jar包
的依赖情况,可能lib中没有对应的jar包
的话就会导致问题的产生。
最后使用mvn
命令clean install
将IDE中的工程进行打包,再在当中找到influxdb-java-2.10.jar
所依赖的jar包
,将这些jar包
增加到工程中lib文件夹下即可。
总结
后面遇到同样需要手动新引入jar包的情况,需要先查看该jar包
的自身jar包
依赖情况,将其所有依赖的jar包
进行增加才可以防止上述问题的产生。