使用maven的systemPath本地引用jar包打包会丢失jar问题

>> 饿了么、美团外卖红包领取地址<<

使用maven的systemPath本地引用oracle的jdbc驱动包 一文,使用systemPath的形式引用本地jar包,在直接使用idea开发运行时不会有什么问题,oracle的jdbc驱动包能够正常引用,但是当我们使用maven打包之后就出问题了。我们使用压缩软件打开打包出的jar包可以发现,使用systemPath引入的jar包并没有复制到打包出来的jar包。这就是为什么使用打包之后的jar运行就会报错的原因。

怎么解决这个问题呢?一个办法是修改pom文件,指定在打包的时候,将本地的jar包也一起打包。在build节点下增加如下代码:

<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>
    </resource>
</resources>

问题大概率即可解决,但是如果我们用的是SpringBoot的话,还有个更简单的办法。只需要给pom中的spring-boot-maven-plugin插件添加一个配置即可在打包的时候引入scope为system的jar包,pom中的代码如下:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <includeSystemScope>true</includeSystemScope>
            </configuration>
        </plugin>
    </plugins>
</build>

打包后使用压缩软件查看jar包

完整的代码参考:https://gitee.com/lqccan/blog-demo/tree/master/%E5%90%8E%E7%AB%AF/ojdbc-package


觉得内容还不错?打赏个钢镚鼓励鼓励!!👍

良世医 医用一次性隔离衣 连体式连帽衣医用隔离服坐飞机男女通用(建议160CM-185CM)
¥25.20
年年好1.2米丝绒布全背胶金字对联《贺岁呈祥》2023兔年不带福字
¥19.90
卫龙魔芋爽600g香辣素毛肚休闲零食大礼包情人节送女友生日礼物辣条
¥35.90
若烟雪茄保湿包加湿包片保湿袋69%湿度双向保湿恒湿四季通用 便携8g
¥14.00
银华棠医用壳聚糖痔疮洗液痔疮膏孕妇肛门肉球瘙痒内外混合治痔除疮软膏的药肛裂便秘便血男女创面愈合凝胶
¥29.00
内廷上用灰甲灵冷敷凝胶足部肿胀疼痛灰指甲足痒足癣足臭甲癣
¥49.80
墨斗鱼 无火香薰120ml蓝风铃香型0130卧室香氛藤条香薰送男友女生情人节创意实用礼物室内空气清新剂持久留香
¥39.80
圣农脆皮炸鸡原味750g 韩式炸鸡半成品 油炸小食 生鲜 空气炸锅食材
¥49.90