問題描述
公司需要對用戶進行消息推送,選擇了個推,由於是Java進行開發,個推操作文檔,
這是官網上安裝的方式,可是不成功,無論怎么樣都無法把Jar包下載下來!
MAVEN方式(本人測試Jar無法下載)
<!--在Maven的pom文件中添加-->
<dependency>
<groupId>com.gexin.platform</groupId>
<artifactId>gexin-rp-sdk-http</artifactId>
<version>4.1.1.0</version>
</dependency>
<!--增加一個repository到 pom.xml 中-->
<repositories>
<repository>
<id>getui-nexus</id>
<url>http://mvn.gt.igexin.com/nexus/content/repositories/releases/</url>
</repository>
</repositories>
解決辦法
將Jar包文件下載下來,也是官網上的第二種方法: 點我下載jar包
問題又來了,SpringBoot如何將jar包添加到項目中呢?
- 我想到的辦法是(將本地的jar包使用maven打包到本地倉庫中)(測試不通)
- 打包命令為:
語法: mvn install:install-file -Dfile=[jar包名稱] -DgroupId=[包名稱] -DartifactId=[項目名稱] -Dversion=[版本號] -Dpackaging=jar
實例: mvn install:install-file -Dfile=gexin-rp-fastjson-1.0.0.4.jar -DgroupId=com.gexin.platform -DartifactId=gexin-rp-fastjson -Dversion=1.0.0.4 -Dpackaging=jar
很不幸,此辦法對於<個推>來說是不可行的,<個推>中封裝了很對類庫,將jar包一個一個打包,運行起來類庫無法被加載 會報異常的.
java.lang.ClassNotFoundException: com.google.protobuf.MessageOrBuilder
- 第二種辦法(可行)
步驟如下:
-
1.在src同級目錄新增 lib目錄
-
2.將jar包粘貼到lib目錄下
-
3.將lib目錄添加到類路徑中
-
4.在pom中添加resurces標簽
標簽內容為:<!--引入本地資源--> <resources> <resource> <directory>lib</directory> <targetPath>BOOT-INF/lib/</targetPath> <includes> <include>**/*.jar</include> </includes> </resource> </resources>
此時已完成Jar文件的添加.就可以編寫<個推>上的實例代碼了!如果將SpringBoot打包為jar包的話會出現問題!如何解決?
在pom中添加依賴
<!--推送相關的Jar 文件
注意: 以下的坐標信息,
<groupId>
<artifactId>
<version>
簡稱GAV,以下的GAV內容並不重要
需要添加對應的本地jar 文件
<scope>system</scope>
<systemPath>${project.basedir}/lib/xxxx.jar</systemPath>
-->
<dependency>
<groupId>com.gexin.platform</groupId>
<artifactId>gexin-rp-sdk-http</artifactId>
<version>4.0.1.17</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/gexin-rp-sdk-http-4.1.1.0.jar</systemPath>
</dependency>
<dependency>
<groupId>com.gexin.platform</groupId>
<artifactId>gexin-rp-sdk-base</artifactId>
<version>4.0.0.32</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/gexin-rp-sdk-base-4.0.0.32.jar</systemPath>
</dependency>
<dependency>
<groupId>com.gexin.platform</groupId>
<artifactId>gexin-rp-fastjson</artifactId>
<version>1.0.0.4</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/gexin-rp-fastjson-1.0.0.4.jar</systemPath>
</dependency>
<dependency>
<groupId>com.gexin.platform</groupId>
<artifactId>gexin-rp-sdk-template</artifactId>
<version>4.0.0.25</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/gexin-rp-sdk-template-4.0.0.25.jar</systemPath>
</dependency>
<dependency>
<groupId>java.gubin</groupId>
<artifactId>protobuf</artifactId>
<version>0.1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/protobuf-java-2.5.0.jar</systemPath>
</dependency>