【java】将本地jar包引入到maven项目中

发布时间:2023年12月18日

两种方式:
1、将jar包打入maven仓库,再通过pom引入jar
2、本地pom中引入

方法一:将jar包打入maven仓库,再通过pom引入jar

mvn install:install-file -Dfile=jar包的位置 -DgroupId=上面的groupId -DartifactId=上面的artifactId -Dversion=上面的version -Dpackaging=jar

-Dfile=需要导入的jar包所放的位置
-DgroupId=导入到本地仓库jar包的父级目录
-DartifactId=jar包文件夹的名称
-Dversion=版本号
–-settings=是maven的setting.xml配置文件,会把jar包打包到xml文件中配置的本地仓库,未配置会打包到默认的本地仓库中(可以在idea的maven配置中找到该路径,配置文件中指定了maven仓库目录;如果路径中包含空格,则需要将文件全路径用引号引起来)

1)第一步,cmd命令行进入jar包所在的目录,执行命令后,本地仓库对应位置自动生成对应jar包和pom文件。执行如下命令:

// linux:
mvn install:install-file -Dfile=java-sdk-core-2.0.1.jar -DgroupId=com.huawei.apigateway -DartifactId=java-sdk-core -Dversion=2.0.1 -Dpackaging=jar
// windows:
mvn install:install-file "-Dfile=java-sdk-core-2.0.1.jar" "-DgroupId=com.huawei.apigateway" "-DartifactId=java-sdk-core" "-Dversion=2.0.1" "-Dpackaging=jar"

也可以通过idea执行该命令:
在这里插入图片描述

2)第二步,项目里面直接配置依赖

<dependency>
    <groupId>com.huawei.apigateway</groupId>
    <artifactId>java-sdk-core</artifactId>
    <version>2.0.1</version>
</dependency>

这里注意一下,命令行里面的 DgroupId 选项对应配置文件中的 groupId;命令行里面的 DartifactId 选项对应配置文件的 artifactId;命令行里面的 Dversion 选项对应配置文件的 version。

3)第三步,更新项目,并重新编译项目。可以执行 mvn clean compile 命令重新编译整个项目。

方法二、本地pom中引入

1)这时候最简单的方法是,直接在project structure通过添加Add As Library,将其加入java项目
2)system,system依赖不是由maven仓库,而是本地的jar包,因此必须配合systemPath标签来指定本地的jar包所在全路径。这类jar包默认会参与编译、测试、运行,但是不会被参与打包阶段

<!-- 引入本地lib包 -->
      <dependency>
          <systemPath>${project.basedir}/libs/java-sdk-core-3.2.4.jar</systemPath>
          <groupId>com.huawei.apigateway</groupId>
          <artifactId>java-sdk-core</artifactId>
          <version>3.2.4</version>
          <scope>system</scope>
      </dependency>

${project.basedir}代表项目根目录的路径,/libs/java-sdk-core-3.2.4.jar是JAR包的相对路径。

为了确保本地JAR包在打包时能够被正确识别和包含,需要配置spring-boot-maven-plugin插件。在pom.xml中添加以下配置:

这段配置中的元素设置为true,以确保在依赖项解析过程中包括system作用域的依赖项。

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <!-- maven打包时会将外部引入的jar包(比如在根目录下或resource文件下新加外部jar包)打包到项目jar -->
        <includeSystemScope>true</includeSystemScope>
    </configuration>
</plugin>

参考链接:https://blog.csdn.net/Wolves_howl/article/details/132036897

文章来源:https://blog.csdn.net/m0_46459413/article/details/135057763
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。