maven项目引入三方jar包

Maven项目引入三方jar包

前提:

在项目开发过程中,难免会用到第三方jar的时候,比如:sdk、或者特定的jar包(不在maven仓库中),这种情况下,我们怎么在项目中直接使用,并且使用maven打包时也将三方包放进最后生成的文件中呢?

在多次资料查询、实验的过程中终于找到了一种方式,如有需要,可参考以下步骤:

举例:

​ 外部引入commons-io-2.8.0.jar(不使用maven仓库下载)

一、项目中引入使用

1、项目路径下创建lib目录

2、copy commons-io-2.8.0.jar至lib目录下,如下图所示:

image-20220119173449608

3、pom.xml文件中本地引入三方jar(commons-io-2.8.0.jar),如所示:

  	<dependency>
        	//这三个值可自定义,如不重复,建议和使用原名称
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
       		<version>2.8.0</version>
        	//必有,且值必须为:system
            <scope>system</scope>
            //jar包所在位置,${pom.basedir}表示当前项目路径(必须使用pom,后面打包会用到),后面是三方jar包所在路径
            <systemPath>${pom.basedir}/lib/commons-io-2.8.0.jar</systemPath>
        </dependency>

4、在项目中使用commons-io相关工具类,例如:FileUtils的readFileToString方法,读取文件内容:

 @GetMapping("/getIndexControllerCode")
    public String getIndexControllerCode() throws IOException {
        ClassPathResource resource = new ClassPathResource("application.yaml");
        File file = resource.getFile();
        String applicationStr = FileUtils.readFileToString(file, StandardCharsets.UTF_8);
        return applicationStr;
    }

image-20220119175502559

使用测试通过。

二、maven打包将三方Jar一同放进最后的项目Jar文件中

1、确认以上pom.xml中引入的三方jar本地路径取得项目路径必须为:pom.basedir,如果是${project.basedir}打包可能会失败

2、在pom.xml的build标签中添加如下:

	<resources>
            <resource>
                <directory>lib</directory>
                <targetPath>BOOT-INF/lib</targetPath>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <targetPath>BOOT-INF/classes</targetPath>
            </resource>
        </resources>

3、正常使用maven打包

4、查看打包的项目jar文件中是否有三方jar

​ 查看jar中,BOOT-INF下,lib中是否有commons-io-2.8.0.jar

image-20220119184824562

OT-INF下,lib中是否有commons-io-2.8.0.jar

[外链图片转存中…(img-i0b79Os3-1642737275464)]

打包测试通过

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值