踩坑系列一:springboot 打包 本地jarb

      最近才开始用springboot,所以遇到一些坑,记录下,当我们项目遇到自己引的本地jar包时,是需要在maven里做一些配置才能在打war包的时候成功将这些打包进我们的war包,从而成功部署到tomcat上

1. 先在pom.xml里面将这本地Jar包引入。其中groupId、artifactId、version都是可以自己随意填的,。然后scope这里需要填写system,systemPath这里需要填写你项目中第三方Jar的位置。${basedir}代表了你这个项目的根目录,也就是ProjectDirectory这个文件夹的目录,后面就根据Jar包在项目中的位置,照着下面的例子填写即可(如果在Intellij IDEA里面,能出现自动提示,就证明引入正确了):

<!--钉钉工具包,如缺失请到钉钉服务器开发文档下载-->
<dependency>
    <groupId>com.taobao.top</groupId>
    <artifactId>top-api-sdk</artifactId>
    <version>ding-open-mc-SNAPSHOT</version>
    <scope>system</scope>
    <systemPath>${pom.basedir}/lib/taobao-sdk-java-auto_1479188381469-20190227.jar</systemPath>
</dependency>
<dependency>
    <groupId>com.taobao.top</groupId>
    <artifactId>lippi-oapi-encrpt</artifactId>
    <version>dingtalk-SNAPSHOT</version>
    <scope>system</scope>
    <systemPath>${pom.basedir}/lib/lippi-oapi-encrpt.jar</systemPath>
</dependency>

到这里本地项目就可以随意使用本地jar包的API,进行调试了和启动,但是坑也在这里,项目发布到线上环境的时,本地jar包并没有被打包进war包里,具体可以解压war包搜索是否存在该jar包,然后重新执行打包命令

clean package -Dmaven.test.skip=true

2.所以要让war包包含本地jar包,还需在pom加一个配置,在maven插件配置includeSystemScope为true,表示打包包含本地jar包

<plugin>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-maven-plugin</artifactId>
   <configuration>
      <includeSystemScope>true</includeSystemScope>
   </configuration>
</plugin>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
钉钉 Java SDK 钉钉官方提供了统一的SDK,使用SDK可以便捷的调用服务端API。注意:此SDK包含原有TOP接口,原有TOP接口可以继续正常调用,没有影响。下面是使用SDK调用API的请求示例: JAVA: DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/user/get"); OapiUserGetRequest req = new OapiUserGetRequest(); req.setUserid("userid1"); req.setHttpMethod("GET"); OapiUserGetResponse rsp = client.execute(req, accessToken); 请求示例说明: (1)定义Client对象,设置接口地址URI。一般地,无需拼接URL后面的参数,比如access_token;需要注意部分Post接口,需要在URI后拼接除access_token外的个别参数。 (2)构造Request对象,接口对应的request对象,一般规则是Oapi+接口Path驼峰形式+Request,如/user/get接口,请求对象是OapiUserGetRequest。 (3)调用Request的方法设置参数,注意参数HttpMethod,默认是POST,如果是GET类型接口,需要这样设置request.setHttpMethod("GET")。 (4)调用client.execute执行,其中access_token同样可以使用SDK获取到。同时,/gettoken,/sns/gettoken, /service/get_suite_token等获取token的接口在调用execute时,无需再传token参数。 (5)执行后得到Response对象,是与Request对应的,然后可获取执行结果。 环境依赖 (1)JAVA SDK 需要依赖 Java SE/EE 1.5及以上。 (2).NET SDK 需要依赖 .NET Framework 2.0及以上 (不支持Windows Phone平台)。 (3)Python SDK需要依赖python2

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值