maven打包本地jar到项目中的方法实现
在maven项目中,我们的项目依赖一般取自local的repository或者远程的repository,比如下面这个配置:
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.3.0</version> </dependency>
一般而言,maven会先去本地的repository寻找,如果找不到,就会依据<repository>的定义,去远程的repository去找依赖。
不过有时候,我们依赖的jar并不在任何repository中,可能就是从第三方下载的1个sdk,怎么办?
比如上面拼多多的sdk并没有提供maven依赖坐标,而是直接提供了1个下载地址。
maven有办法处理这种情况,它支持systemscope的定义方式,可以加载本地任意路径下的jar包。
1.直接将sdk下载到本地,在maven项目的根目录中新建1个lib文件夹。将下载的sdk拷贝到lib文件夹里。
2.修改pom文件,添加如下依赖
<dependency> <groupId>pdd</groupId> <artifactId>pop-sdk</artifactId> <type>jar</type> <version>1.15</version> <scope>system</scope> <systemPath>${pom.basedir}/lib/pop-sdk.jar</systemPath> </dependency>
其中groupId和artifactId都可以自定义,systemPath配置的是我们maven项目的根目录下lib文件夹中的jar。
3.如果发现有些配置文件没有拷贝到打的jar中,可以修改pom文件,添加如下依赖。
<resources> <resource> <directory>${project.basedir}/lib</directory> <targetPath>/BOOT-INF/lib/</targetPath> <includes> <include>**/*.jar</include> </includes> </resource> <resource> <directory>src/main/resources</directory> <targetPath>/BOOT-INF/classes</targetPath> <includes> <include>**/**</include> </includes> </resource> <resource> <directory>src/main/resources</directory> <filtering>false</filtering> </resource> </resources>
这一步并不是必要的,我添加了下面的配置是因为打包以后apollo配置文件app.properties没拷贝到项目中导致拉取配置失败,项目没有启动起来。
到此这篇关于maven打包本地jar到项目中的方法实现的文章就介绍到这了,更多相关maven打包本地jar 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
SpringBoot整合Mybatis之各种查询、模糊查询、批量删除、动态表名操作
这篇文章主要介绍了SpringBoot整合Mybatis之各种查询、模糊查询、批量删除、动态表名,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-12-12详解Spring的两种代理方式:JDK动态代理和CGLIB动态代理
这篇文章主要介绍了详解Spring的两种代理方式:JDK动态代理和CGLIB动态代理,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-04-04
最新评论