SpringBoot集成<個推推送> Maven 下載jar包異常處理本地打包下載


問題描述

公司需要對用戶進行消息推送,選擇了個推,由於是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目錄

    在src同級目錄新增 lib目錄
  • 2.將jar包粘貼到lib目錄下

    將jar包粘貼到lib目錄下
  • 3.將lib目錄添加到類路徑中

    將lib目錄添加到類路徑中
  • 4.在pom中添加resurces標簽

    在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>

完成!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM