• SpringBoot - 在IDEA中如何引入本地JAR包?


    写在前面

    在实际项目中我们非常推荐使用MAVEN或者GRADLE进行项目构建、源码编译及依赖管理,但是在实际的工作中会遇到部分JAR包,在MAVEN仓库中没有,这种情况下就不能直接通过POM进行依赖的引入,那应该怎么办呢?

    名称解释

    groupid和artifactId都统称为“坐标”,是为了保证项目的唯一性而提出的,如果把项目安装到MAVEN仓库中以后,要想找到这个项目就必须根据这两个ID去查找。
    groupId是项目组织唯一的标识符,实际应该对应JAVA包的目录结构,是MAIN目录里JAVA的目录结构;
    artifactId是项目唯一的标识符,也就是实际项目的名称。

    解决方案

    方案一:将JAR包安装到本地仓库
    1. 执行安装命令:
    // ①. 将aspose-words-15.8.0-jdk16.jar复制到当前目录
    // ②. 在当前目录下执行MVN INSTALL命令,groupId、artifactId和version需要根据实际情况进行指定,
    //    当然如果随意指定也没有问题,只是需要在POM文件中使用指定的坐标。
    mvn install:install-file -Dfile=./aspose-words-15.8.0-jdk16.jar -DgroupId=com.aspose.rocky 
    -DartifactId=aspose-words-rocky -Dversion=15.8.0 -Dpackaging=jar
    // ③. 如何使用
    <dependency>
        <groupId>com.aspose.rocky</groupId>
        <artifactId>aspose-words-rocky</artifactId>
        <version>15.8.0</version>
    </dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    2. POM中添加依赖:
    <dependency>
        <groupId>com.aspose.rocky</groupId>
        <artifactId>aspose-words-rocky</artifactId>
        <version>15.8.0</version>
    </dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    3. 参数说明:
    参数说明
    -Dfile=./aspose-words-15.8.0-jdk16.jar待安装JAR包的路径,可以是相对路径也可以是绝对路径
    -DgroupId=com.aspose.rocky设置groupId的名称,可以自定义,需要和POM的保持一致
    -DartifactId=aspose-words-rocky设置该包artifactId的名称,可以自定义,需要和POM的保持一致
    -Dversion=15.8.0设置JAR包的版本,可以自定义,需要和POM的保持一致
    -Dpackaging=jar设置JAR包的类型,如:pom、jar、war、maven-plugin,常用的是jar
    方案二:引用本地文件
    1. 创建lib文件夹:

    和src同级创建lib目录,将aspose-words-15.8.0-jdk16.jar放到lib目录下

    2. POM中添加依赖:
    // 其中 标签的内容可以应该按实际情况填写,但是也可以随便填写
    <dependency>
        <groupId>com.aspose.rocky.lib</groupId>
        <artifactId>aspose-words-rocky-lib</artifactId>
        <version>17.8.0</version>
        <scope>system</scope>
        <systemPath>${pom.basedir}/lib/aspose-words-rocky-15.8.0.jar</systemPath>
    </dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    常见问题:

    [WARNING] Some problems were encountered while building the effective model for com.tiantu:dl-erms:jar:1.0-SNAPSHOT
    [WARNING] 'dependencies.dependency.systemPath' for com.aspose.rocky.lib:aspose-words-rocky-lib:jar should not point at files within the project directory, ${project.basedir}/lib/aspose-words-rocky-15.8.0.jar will be unresolvable by dependent projects @ line 193, column 25
    [WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
    [WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
    
    // 将 ${project.basedir}/lib/aspose-words-rocky-15.8.0.jar 修改为:${pom.basedir}/lib/aspose-words-rocky-15.8.0.jar 则警告消失。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  • 相关阅读:
    反思:Google 为何把 SurfaceView 设计的这么难用?
    java服务器端开发-servlet:1_2_1、如何开发一个servlet,实战写一个servlet
    Ubuntu18.04切换Python版本
    dubbo 核心源码分析
    第五章:数组、排序和查找
    C 语言设计模式(结构型)
    AutoCAD2019开发配置
    2023年山东省安全员C证证考试题库及山东省安全员C证试题解析
    sql分段统计
    Kubernetes leader election 源码分析
  • 原文地址:https://blog.csdn.net/goodjava2007/article/details/125618904