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后即可生成到项目部署包中。

以上教程完毕。

相关推荐
阿里云基础软件2 小时前
Agent 任务提速 10.71%,内存占用降低 21.60%|Alibaba Cloud Linux 4 重大发布
java·linux·人工智能·操作系统·agent
Wang's Blog3 小时前
Java 项目实战: 交友项目 - 项目:需求分析与滑动数据设计
java·开发语言·交友
前端 贾公子3 小时前
第 5 章:Codex 从可运行程序到可交付工具
java·前端·数据库
CarIise3 小时前
Spring 框架:多配置文件、开发方式与 IOC 注解
junit·maven·jar
CoderYanger3 小时前
Java EE 进阶:5. Spring IoC&DI(第三弹):Spring DI
java·开发语言·spring boot·spring·面试·java-ee·mvc
一条泥憨鱼4 小时前
【Kafka】零基础学习教程
java·分布式·学习·kafka
Wang's Blog4 小时前
Java 项目实战:交友项目 - 即时通信总结:全链路复盘、可复用清单与自检
java·python·交友
文丑颜不良啊4 小时前
LeetCode1501~1520题目解析
java·leetcode
长不大的杨瑞杰4 小时前
OpenCode v2 LSP 实战:内置语言服务器、自定义配置与诊断闭环
java·人工智能·typescript·lsp·opencode
云和数据.ChenGuang5 小时前
python和java的try
java·开发语言·python