Springboot Maven项目引入钉钉机器人jar包(SDK)遇到的问题

选择SDK主要是懒。
首先在项目中添加jar包引用,Idea开发的话就是File - project Structure 然后 从module和 libraries中引入都可以。
然后开发代码。
调试通过。
这时候就要遇到坑了。
提交代码 当shell脚本执行到 mvn clean package --settings=/data/maven/apache-maven-3.0.5/conf/settings.xml -Dmaven.test.skip=true
这一步时 打包失败

package com.dingtalk.api does not exist

我把下载的jar包放到了 resource/lib下,所以在pom.xml中添加如下配置:

<dependency>
    <groupId>com.dingtalk.apigroupId>
    <artifactId>dingtalkartifactId>
    <version>3.0.12version>
    <scope>systemscope>
    <systemPath>${project.basedir}/src/main/resources/lib/taobao-sdk-java-auto_1479188381469-20191122.jar
    systemPath>
dependency>

这个也很好理解,需要在编译的时候让maven加载到正确的依赖,然后编译通过了,打包成功,但是启动的过程会报另外一个错误:

Failed to introspect bean class [com.xxx] for lookup method metadata:
could not find class that it depends on; 
nested exception is java.lang.NoClassDefFoundError: com/dingtalk/api/DingTalkClient
<plugins>
     <plugin>
         <groupId>org.springframework.bootgroupId>
         <artifactId>spring-boot-maven-pluginartifactId>
         // ++++++++ 添加这部分配置
         <configuration>
             <includeSystemScope>trueincludeSystemScope>
         configuration>
         // ++++++++ 添加这部分配置
     plugin>
 plugins>

includeSystemScope 直接翻一下—包含系统局部包,设置为 true。到此就结束了。

如果这些都搞完了,还是有问题,建议放弃SDK,用http请求API接口吧。

你可能感兴趣的:(java)