项目引入SDK包在maven打包打不进去的问题

mac2024-03-20  29

之前公司的线下店买了二维火的点菜机,同时想要把公司内部的会员体系与二维火的会员体系打通,也就是在注册公司h5会员系统的时候同时调二维火的会员注册领卡接口,需要封装二维火的会员领卡接口,这里采用SDK方式。

1.先引入SDK到项目

2.根据SDK提供的方法封装自己的接口

private static DefaultDfireClient dfireClient = new DefaultDfireClient(SERVER_URL, APP_KEY, APP_SECRET); @RequestMapping(value="/getMemberCard",method = RequestMethod.POST) public String shopMemberCardApply(String mobile,String name) throws Exception { ComDfireOpenShopMemberCardApplyRequest request = new ComDfireOpenShopMemberCardApplyRequest(); SaveCardBo saveCardBo = new SaveCardBo(); saveCardBo.setKindCardId(CARDKIND);//会员卡类型ID saveCardBo.setEntityId(ENTITYID);//参数:店铺Id //设置手机号国家码 saveCardBo.setCountryCode("+86"); //会员手机号 saveCardBo.setMobile(mobile); saveCardBo.setName(name); //设置会员卡密码,默认为110110 //saveCardBo.setPwd("110110"); request.setSaveCardVo(JSON.toJSONString(saveCardBo)); //设置环境为线上环境 request.setEnv(PUBLISH); //提交业务处理,获得返回response String response = dfireClient.buildClientRequest().post(request, GETMEMBERCARD, VERSION); //处理中文乱码 String data = new String(response.getBytes("iso8859-1"), StandardCharsets.UTF_8); System.out.println(data); return data; }

3.进行maven打包,打包成功后执行的时候一直报SDK内引用的方法不存在,那么就明显了,SDK的jar包没打进去

4.修改maven配置,将引入的SDK包加入pom文件中,并做映射设置scope为system,systempath指向sdk包所在位置,并在打包配置build里面指明打包包含includeSystemScope为true,再次打包接口运行正常。

<!--将引入的SDK包加入pom文件中,并做映射设置scope为system,systempath指向sdk包所在位置--> <dependency> <groupId>com.dfire.open.api</groupId> <artifactId>dfire-open-sdk</artifactId> <version>1.1.3</version> <scope>system</scope> <systemPath>${project.basedir}/src/main/resources/lib/dfire-open-sdk-1.1.3.jar</systemPath> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> <configuration> <includeSystemScope>true</includeSystemScope> </configuration> </plugin> </plugins> </build>

 

最新回复(0)