Spring Boot 教程:将自定义的 JAR 包引入到 Maven 项目中

简介: 在开发Spring Boot项目时,我们经常需要引入第三方库或自定义的JAR包来扩展功能。但这个时候,去maven仓库上,并没有发现有他们的jar可以引用。本文将介绍如何将自定义的JAR包引入到Maven项目中,以便在Spring Boot应用程序中使用它。

jar.jpg

在开发Spring Boot项目时,我们经常需要引入第三方库或自定义的JAR包来扩展功能。但这个时候,去maven仓库上,并没有发现有他们的jar可以引用。本文将介绍如何将自定义的JAR包引入到Maven项目中,以便在Spring Boot应用程序中使用它。

方式一:直接引入本地jar包

步揍一:将jar文件拷贝到项目resources/lib目录下

_20230710220425.png

步揍二:引入依赖

<dependency>
    <groupId>net.dongliu</groupId>
    <artifactId>apk-parser</artifactId>
    <version>2.6.10</version>
    <scope>system</scope>
    <systemPath>${pom.basedir}/src/main/resources/lib/apkinfo.jar</systemPath>
</dependency>

步揍三:将依赖打成外部jar包

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>3.1.0</version>
    <configuration>
        <archive>
            <!-- 添加index则不从mainfest中读取classpath,而是从Index.list中读取
            <index>true</index> -->
            <manifest>
                <!-- 项目启动类 -->
                <mainClass>cn.xj.Application</mainClass>
                <!-- 在jar包的MF文件中生成Class-Path属性 -->
                <addClasspath>true</addClasspath>
                <!--依赖前缀-->
                <classpathPrefix>lib/</classpathPrefix>
                <packageName>${project.artifactId}-${project.version}</packageName>
            </manifest>
            <manifestEntries>
                <Class-Path>lib/apkinfo.jar ./</Class-Path>
            </manifestEntries>
        </archive>
    </configuration>
</plugin>

这里的最关键就是<manifestEntries></manifestEntries>这个属性了。这里的里的值,需要和上面依赖的名字一致。

到此我们就完成了本地jar包的引入

方式二:mvn 导入本地jar到本地 Maven 仓库

步揍一:mvn 导入本地jar到本地 Maven 仓库

_20230710224436.png

步揍二:引入依赖

<dependency>
    <groupId>net.dongliu</groupId>
    <artifactId>apk-parser</artifactId>
    <version>2.6.10</version>
</dependency>

到此我们就完成了mvn 导入本地jar到本地 Maven 仓库,需要注意的是我们每次清空仓库后都需要重新导入下依赖

附: mvn环境变量配置

未配置mvn环境变量
_20230710223516.png

添加系统变量:M2_HOME
_20230710223826.png

添加path:

_20230710224153.png

目录
相关文章
|
17天前
|
Java Apache Maven
Maven 项目文档
在C:/MVN下,使用命令`mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false`创建Maven Java项目。确保`pom.xml`包含`maven-site-plugin`和`maven-project-info-reports-plugin`配置,版本分别至少为3.3和2.7,以避免`NoClassDefFoundError`。
|
16天前
|
Java Maven
Maven 构建 Java 项目
使用 Maven 的 archetype:generate 命令创建 Java 项目,如 `mvn archetype:generate` -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false,在 C:\MVN 下生成基于 maven 的 consumerBanking 项目。
|
3天前
|
Java Apache Maven
Maven 项目文档
在C:/MVN下,使用`mvn archetype:generate`命令创建`consumerBanking`项目,设置相关参数。确保`pom.xml`包含`maven-site-plugin`和`maven-project-info-reports-plugin`,版本至少为3.3和2.7,以避免`NoClassDefFoundError`。升级`maven-site-plugin`至3.3+解决该错误。
|
6天前
|
Java Maven
Idea下运行Maven项目时provide包没有依赖导致类找不到
Idea下运行Maven项目时provide包没有依赖导致类找不到
12 0
|
8天前
|
Java Maven
Maven 构建 Java 项目
使用Maven的`maven-archetype-quickstart`插件在C:\MVN下创建Java应用,命令:`mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false`。
|
9天前
|
Java Apache Maven
Maven 项目文档
本教程聚焦于创建Maven项目文档。在C:/MVN目录下,使用命令`mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false`生成`consumerBanking`项目。为解决`mvn site`命令执行时的`NoClassDefFoundError`
|
11天前
|
Java 应用服务中间件 Apache
Tomcat的基本使用,如何用Maven创建Web项目、开发完成部署的Web项目
Tomcat的基本使用,如何用Maven创建Web项目、开发完成部署的Web项目
29 1
|
11天前
|
Java Maven Spring
maven打包插件maven-jar-plugin与spring-boot-maven-plugin
该内容介绍了两个Maven打包插件:`spring-boot-maven-plugin`和`maven-jar-plugin`。`spring-boot-maven-plugin`是Spring Boot项目的默认打包工具,它会包含项目类文件、资源和依赖的jar,但不会解编译依赖。而`maven-jar-plugin`则用于创建普通JAR包,不包含依赖。文中还展示了两个插件打包后的效果差异,并强调了持续练习以掌握这些技能的重要性。
18 0
|
11天前
|
Java Apache Maven
Maven 项目文档
在C:/MVN下创建`consumerBanking` Maven项目,使用命令`mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false`。
|
12天前
|
Java Maven Windows
小唐开始学 Spring Boot——(1)IDEA 2021.3.2和Maven的安装配置
小唐开始学 Spring Boot——(1)IDEA 2021.3.2和Maven的安装配置