对接友商的物联网设备协议时,友商提供的jar包在maven仓库中并不存在,线上打包时无法引入该依赖,以下面方法将jar包引入项目中。
1、将jar包放在项目下
2、pom文件依赖添加systemPath和Scope标签
注意:systemPath属性用于指定依赖库的本地文件路径,但这样的配置只应在system作用域下使用。
system范围的依赖并不推荐,因为它会导致构建的不可移植性,因为其他环境可能找不到相同的系统路径。
所以,正确做法是避免使用system作用域和systemPath,而是将依赖添加到Maven仓库,或者如果必须使用本地库,考虑使用provided作用域,这表明依赖由运行时环境提供,不需要在构建过程中打包
注意:不加scope就会像下边一样
3、在pom文件加入includeSystemScope
线上环境报NoclassDefFoundError
解决:在pom文件加入includeSystemScope,打包时将本地依赖的 jar 打入打包的jar中
includeSystemScope为true:将Maven系统变量包含在项目构建过程