springboot引入第三方jar包本地lib并打包 亲测可用

springboot引入第三方jar包本地lib并打包 亲测可用

一、在项目根目录创建lib目录并放入第三方lib包 :

-- project
----lib (放在这儿)
----src
----target

二、pom中引入第三方lib

<!-- 自定义引入jar -->
    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.6</version>
        <scope>system</scope>
        <systemPath>${pom.basedir}/lib/commons-io-2.6.jar</systemPath>
    </dependency>

system表示依赖不是由maven仓库,而是本地的jar包
${pom.basedir}/lib/commons-io-2.6.jar指向jar包位置即可
${pom.basedir}表示项目根目录

三、将第三方lib也打入jar包

<plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <includeSystemScope>true</includeSystemScope>
                <mainClass>com.henyi.mqtt.MqttTransferApplication</mainClass>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
</plugins>
关键是要加上 <includeSystemScope>true</includeSystemScope> 这句
### 回答1: 在 Spring Boot引入本地 jar 的方法有多种,其中一种是将 jar 放到项目的 lib 文件夹中,然后在 pom.xml 中加入如下依赖: ``` <dependency> <groupId>com.example</groupId> <artifactId>example</artifactId> <version>1.0</version> <scope>system</scope> <systemPath>${project.basedir}/lib/example.jar</systemPath> </dependency> ``` 其中 `groupId`、`artifactId` 和 `version` 是 jar 的相关信息, `systemPath` 是 jar 的绝对路径。 还有一种是将 jar 放到本地仓库中, 需要在pom.xml中加入如下依赖 ``` <dependency> <groupId>com.example</groupId> <artifactId>example</artifactId> <version>1.0</version> </dependency> ``` 需要在settings.xml中加入本地仓库的地址 ``` <localRepository>path-to-your-local-repo</localRepository> ``` 然后执行 `mvn install:install-file -Dfile=path-to-your-jar -DgroupId=com.example -DartifactId=example -Dversion=1.0 -Dpackaging=jar` 可以参考 https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html 来了解更多关于本地 jar 引入方法。 ### 回答2: 随着Java开发的不断发展和变化,引入外部库或jar包是Java开发的一个重要问题。在SpringBoot引入本地jar包可以帮助开发人员轻松集成第三方库,使代码更加模块化和易于维护。在本文中,我们将介绍如何在SpringBoot引入本地jar包。 1. 将jar包导入本地Maven仓库 首先,我们需要将要引入jar包导入本地Maven仓库。可以使用以下命令: ``` mvn install:install-file -DgroupId=your.group.id \ -DartifactId=your-artifact-id \ -Dversion=your-version \ -Dfile=the-jar-file.jar \ -Dpackaging=jar \ -DgeneratePom=true ``` 执行此命令后,jar包将被复制到本地Maven仓库中,并将其添加到POM.xml文件中。 2. 在POM.xml中添加依赖项 在POM.xml文件中,我们需要添加一个依赖项来引用本地jar包。可以使用以下代码: ``` <dependency> <groupId>your.group.id</groupId> <artifactId>your-artifact-id</artifactId> <version>your-version</version> </dependency> ``` 请注意,groupId,artifactId和version应与上一步中用于导入jar包的命令一致。 3. 清理并构建项目 在POM.xml文件中添加依赖项后,我们需要清理并构建项目。可以使用以下命令: ``` mvn clean install ``` 这将清理并构建项目,并将所有依赖项打包到可执行的jar文件中。 总结 在SpringBoot引入本地jar包是一项非常简单和重要的任务。上述步骤可以帮助我们轻松实现这项任务,以便能够方便地使用第三方库和jar包来开发企业级Java应用程序。 ### 回答3: Spring Boot是一个基于Spring Framework的快速开发应用程序的框架。在进行Spring Boot项目开发时,通常需要引入一些外部依赖,例如Maven或Gradle。但是,如果需要使用本地的jar包,该怎么引入呢? 首先,我们可以将需要引入jar包导入本地Maven仓库中。例如,我们将要引入jar包命名为my-library.jar,并将其导入本地Maven仓库中。使用以下命令: ``` mvn install:install-file -Dfile=c:/my-library.jar -DgroupId=com.my-library -DartifactId=my-library -Dversion=1.0 -Dpackaging=jar ``` 其中,-Dfile为要安装的jar包的路径,-DgroupId为组标识符,-DartifactId为工件标识符,-Dversion为版本号,-Dpackaging为打包格式。 完成以上步骤之后,我们可以在项目的POM文件中添加以下依赖项: ``` <dependency> <groupId>com.my-library</groupId> <artifactId>my-library</artifactId> <version>1.0</version> </dependency> ``` 这样,我们就成功地引入了本地jar包。 除了将jar包导入本地仓库外,我们还可以将其直接放入项目中。例如,我们可以将my-library.jar放入项目根目录的lib文件夹中。然后,在POM文件中添加以下依赖项: ``` <dependency> <groupId>com.my-library</groupId> <artifactId>my-library</artifactId> <version>1.0</version> <scope>system</scope> <systemPath>${project.basedir}/lib/my-library.jar</systemPath> </dependency> ``` 其中,<scope>system</scope>表示此依赖为系统范围内的依赖;<systemPath>指定该依赖项的路径。 最后,需要注意的是,如果使用本地jar包进行开发,需要保证该jar包的版本与项目中其他依赖项的版本兼容。此外,最好将本地jar包添加到版本控制系统中,以便团队成员共享使用。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值