SpringBoot+Maven添加本地jar包并package可执行jar包的方法

来源:互联网 发布:win10优化用什么软件好 编辑:程序博客网 时间:2024/05/21 17:38

本文欢迎转载,转载请注明出处,谢谢! http://blog.csdn.net/colton_null
作者:喝酒不骑马 Colton_Null from CSDN


最近的项目中,使用到了阿里云通信的短信服务。该服务需要引入短信业务有关的几个jar包。而这些jar包在maven官方仓库中是没有的。

那么如何在添加本地的jar包到maven中并可以package成可执行jar包呢?

一、配置Maven环境变量

1.桌面右键【此电脑】——【属性】——【高级系统设置】——【环境变量】进入到环境变量配置窗口。
2.新建系统变量MAVEN_HOME,路径填写你maven解压的文件夹。路径中不要带有中文。我的是D:\dev_env\maven3\apache-maven-3.3.3
这里写图片描述
3.在Path中添加%MAVEN_HOME%\bin
这里写图片描述
4.打开cmd输入mvn -v,如果出现下图则说maven环境配置成功。
这里写图片描述

二、添加本地jar包到本地Maven仓库

Maven安装jar包命令是

mvn install:install-file -Dfile=jar包的位置 -DgroupId=自定义groupId -DartifactId=自定义artifactId -Dversion=自定义version -Dpackaging=jar

例如:

mvn install:install-file -Dfile=D:\lib\aliyun-sdk-mns-1.1.8.jar -DgroupId=aliyun-message-sdk-mns -DartifactId=aliyun-message-sdk-mns -Dversion=1.1.8 -Dpackaging=jar

三、在SpringBoot中pom.xml文件中添加依赖

<dependency>   <groupId>aliyun-message-sdk-mns</groupId>   <artifactId>aliyun-message-sdk-mns</artifactId>   <version>1.1.8</version></dependency>

groupId、artifactId、version要和安装时的内容一致。
刷新下pom,如果程序没有报错的话,就说明本地jar已经成功引入。

四、package JAR包

到此,package JAR包的方法跟平常一样。clean后package,在target目录中就会生成打包好的jar包。
这里写图片描述
解压生成的jar包,我们会发现,本地jar包(我这里是阿里云的jar包)就已经被添加到lib中了。
这里写图片描述

五、另一种添加本地jar包的方法

1.在工程根目录下建立一个lib目录,将本地jar包拷贝进去。
这里写图片描述
2.在pom.xml中添加依赖如下

<dependency>   <groupId>aliyun-message-sdk-core</groupId>   <artifactId>aliyun-message-sdk-core</artifactId>   <version>3.2.3</version>   <scope>system</scope>   <systemPath>${project.basedir}/lib/aliyun-java-sdk-core-3.2.2.jar</systemPath></dependency><dependency>   <groupId>aliyun-message-sdk-mns</groupId>   <artifactId>aliyun-message-sdk-mns</artifactId>   <version>1.1.8</version>   <scope>system</scope>   <systemPath>${project.basedir}/lib/aliyun-sdk-mns-1.1.8.jar</systemPath></dependency><dependency>   <groupId>aliyun-java-sdk-dysmsapi</groupId>   <artifactId>aliyun-java-sdk-dysmsapi</artifactId>   <version>1.0.0</version>   <scope>system</scope>   <systemPath>${project.basedir}/lib/aliyun-java-sdk-dysmsapi-1.0.0-SANPSHOT.jar</systemPath></dependency>
  • groupId、artifactId、version任意填写。
  • scope表示从本地文件系统拿,一定需要配合systemPath属性使用。
  • systemPath为jar包的绝对路径
  • ${project.basedir}为项目根目录的绝对路径

3.注意事项!!
用这种方式添加是可以在本地将第三方jar包添加到maven工程中的。但是在package时,这些第三方jar包不会被打入到jar包中(这地方坑了我一下午)。所以该方法只适用于本地开发。
如果想要用jar包部署项目,请参见上面一二三四,将jar包安装到本地maven仓库。

原创粉丝点击