JAVA:在IDEA引入本地jar包的方法并解决打包scope为system时发布无法打包进lib的方案

一.引入本地Jar包的步骤

有时maven依耐的包是本地的jar包,此时需要进行以下步骤设置。

步骤1.在pom.xml中添加插件设置,将system范围包含进来,此设置是为了在打包时,本地jar包自动生成到部署包里。(若无法打进包,请参考下文的方案二)

html 复制代码
<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <includeSystemScope>true</includeSystemScope>
    </configuration>
</plugin>

步骤2.将本地jar包添加依赖

在项目根目录下新建lib文件夹,把本地jar包放到此目录下,并配置好对应的依赖项groupId、artifactId、version。scope为system,systemPath为jar所在路径,其中project.basedir是项目的所在根目录变量。

javascript 复制代码
        <dependency>
            <groupId>com.ctg.ag.sdk.biz</groupId>
            <artifactId>sdkpackage</artifactId>
            <scope>system</scope>
            <version>1.0</version>
            <systemPath>${project.basedir}/lib/ag-sdk-biz-SNAPSHOT.jar</systemPath>
        </dependency>

步骤3.添加lib的对应jar包到项目

点击菜单File->Project Structure->Modules->Dependencies,点击底栏的+号,选择JARS or Directories,在弹出的窗口中选中lib目录下的那个本地jar包,确定。

以上步骤完成后,重新install,本地jar包引入完毕。

二、发布时本地包无法打包进部署包的解决方案

上述方案一正常可以将本地jar包文件打包进项目包,但也有无法打包进去的情况,可以用以下方式解决。

在pom.xml中添加resources节点:

1、设置本地jar包所在目录lib

2、指向目标生成目录,本示例是web项目,所以jar包生成目录是/WEB-INF/Lib

3、包含的文件类型为所有jar文件

html 复制代码
        <!-- 打包时把 自定义lib 目录下的 jar 文件也打包进去  -->
        <resources>
            <resource>
                <directory>${project.basedir}/lib</directory>
                <targetPath>../${project.name}/WEB-INF/lib</targetPath>
                <includes>
                    <include>*.jar</include>
                </includes>
            </resource>
            <resource>
                <directory>${project.basedir}/src/main/resources</directory>
            </resource>
        </resources>

经过此resources的配置后,install后即可生成到项目部署包中。

以上教程完毕。

相关推荐
李慕婉学姐4 小时前
【开题答辩过程】以《基于JAVA的校园即时配送系统的设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·开发语言·数据库
奋进的芋圆5 小时前
Java 延时任务实现方案详解(适用于 Spring Boot 3)
java·spring boot·redis·rabbitmq
sxlishaobin6 小时前
设计模式之桥接模式
java·设计模式·桥接模式
model20056 小时前
alibaba linux3 系统盘网站迁移数据盘
java·服务器·前端
荒诞硬汉6 小时前
JavaBean相关补充
java·开发语言
提笔忘字的帝国6 小时前
【教程】macOS 如何完全卸载 Java 开发环境
java·开发语言·macos
2501_941882487 小时前
从灰度发布到流量切分的互联网工程语法控制与多语言实现实践思路随笔分享
java·开发语言
華勳全栈7 小时前
两天开发完成智能体平台
java·spring·go
alonewolf_997 小时前
Spring MVC重点功能底层源码深度解析
java·spring·mvc
沛沛老爹7 小时前
Java泛型擦除:原理、实践与应对策略
java·开发语言·人工智能·企业开发·发展趋势·技术原理