工作中做了發送釘釘消息的功能,腳本中使用了釘釘的相關api,打jar包時,就需要帶上這個外部依賴。
使用的框架:springboot
網上有很多maven 打包時,加入外部依賴的配置,但結果五花八門,看的人眼花,就使用了最原始的方法。
1、
下載了外部依賴,放入項目中
2、
pom.xml中只需要加入依賴,不需要build目錄
<dependencies>
<!--釘釘工具包,如缺失請到釘釘服務器開發文檔下載-->
<dependency>
<groupId>com.taobao.top</groupId>
<artifactId>top-api-sdk-dev</artifactId>
<version>ding-open-mc-SNAPSHOT</version>
<scope>system</scope>
<systemPath>${pom.basedir}/src/lib/taobao-sdk-java-auto_1479188381469-20190905.jar</systemPath>
</dependency>
<dependency>
<!-- jsoup HTML parser library @ http://jsoup.org/ -->
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.10.2</version>
</dependency>
</dependencies>
3、打開 Project Structure
4、Main Class選上項目 main方法所在的class
點ok即可。關注一下這裏的箭頭內容
5、
然後選build,就會在out/artifacts/ 目錄下找到jar包
6、
java -jar ***.jar 報錯:沒有主屬性清單。
查看jar包中的,MANIFEST.MF 文件確實是沒有 Main-Class 的值。
解決方法:
第4步中,箭頭所指內容做了更改。
原本的 D:\Projects\dingdingforpython-oms\src\main\java\META-INF\MANIFEST.MF
更改爲 D:\Projects\dingdingforpython-oms\src\main\java\com\suise\dingdingdemo\META-INF\MANIFEST.MF
就是要到帶有main 方法的class的上一層,纔可以。
報錯不在了,運行正常。