maven 使用运行时依赖导致的编译问题

我们现在开发过程中很多的项目是基于maven的项目。我们可能会遇到在eclipse中项目一切正常,在服务器编译的过程中会出现如下的问题maven 使用运行时依赖导致的编译问题

代码如下
maven 使用运行时依赖导致的编译问题
maven 使用运行时依赖导致的编译问题

如图选中部分正好是导致系统编译不通过的代码。

???? 为什么会编译失败

1、找到导致编译失败的类所在jar
2、查看依赖树如图
maven 使用运行时依赖导致的编译问题
我们可以看到细线框中的位置是runtime。
这种的依赖在我们本机启动的时候是一切正常的,但是在服务器部署的时候,该jar是不会传递到此项目中的。这个时候这个jar就会缺失。这就是导致项目编译失败的原因。

提示:
我们在开发代码的过程中,尽量不要使用scope是runtime的jar中的类,如果必须,那需要在服务器运行时环境中加入这个jar。或者是在本项目中手动添加此jar依赖,否则服务器编译会出现问题。

MAVEN依赖传递