问题描述
公司需要对用户进行消息推送,选择了个推,由于是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>