记一次--------集群升级CDH版本到6.3.2程序运行报错scope属性的provided值

 
 
测试程序:原来运行环境是
 
升级后的运行环境
 
执行在低版本环境的程序
1.首先将高版本的pom文件修改、
2.在将resource配置文件配置
然后执行程序 报错
 
首先追踪错误代码行APP 45行。 是sparkSQL读hive仓库的表 
最后一个报错代码说: 
  • 无法识别的hadoop主版本号
 
然后就在考虑是不是因为3.0的版本问题。因为之前一直通过maven打包都是将所有依赖都打包到jar中。
因为CDH6.3.2将spark集成到2.4等, 就考虑说要不将CDH有的依赖都不打入jar包中 ,也就是在pom文件依赖下添加一个score属性;
    * compile,缺省值,适用于所有阶段,会随着项目一起发布。 
    * provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。 
    * runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。 
    * test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。 
    * system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。 
  
 
然后就不报错了。 。说实话 都不知道是怎么解决的。。。
 
 
 
posted @ 2020-04-11 18:32  二黑诶  阅读(325)  评论(0编辑  收藏  举报