本文欢迎转载,转载请注明出处,谢谢! 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仓库。