Maven配置项目依赖使用本地仓库的方法汇总(小结)

 更新时间:2020年07月07日 10:18:25   作者:雨至夜色  
这篇文章主要介绍了Maven配置项目依赖使用本地仓库的方法汇总(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

Maven配置项目使用本地仓库有以下方式实现:

1、类似本地仓库,但是属于本地依赖,比如某个JAR包是引用第三方的,直接放在了项目的lib文件夹,那么此时可以如下配置项目的POM:

   <dependency>
     <groupId>ldapjdk</groupId>
     <artifactId>ldapjdk</artifactId>
     <scope>system</scope>
     <version>1.0</version>
     <systemPath>${basedir}\src\lib\ldapjdk.jar</systemPath>
   </dependency>

说明:红色部分为项目的JAR包所在位置。

!更好的方式是配置编译参数<compilerArguments>,添加extdirs将jar包相对路径添加到配置中,如下:

<build>
    <plugins>
      <plugin>
       <artifactId>maven-compiler-plugin</artifactId>
       <configuration>
         <source>1.6</source>
         <target>1.6</target>
         <encoding>UTF-8</encoding>
         <compilerArguments>
          <extdirs>src\main\webapp\WEB-INF\lib</extdirs>  <extdirs>${basedir}/WebRoot/WEB-INF/lib</extdirs>
         </compilerArguments>
       </configuration>
      </plugin>
    </plugins>
  </build>

 说明:红色部分为项目的JAR包所在位置。

2、配置Maven的setting.xml文件的本地仓库地址,但是这个方式的意思不是用在项目上的本地仓库,而是比如远程仓库缓存的本地目录;如果要实现项目上使用的本地仓库,可以使用这个思路解决,比如先配置好本地仓库目录,然后安装需要的JAR包到本地仓库,最后就是在项目上直接引用这个JAR包即可。

配置setttin.xml的本地仓库目录方式如下:

<localRepository>C:/MyLocalRepository</localRepository>

安装JAR包的思路参考:https://www.jb51.net/article/189209.htm

3、使用Maven的deploy(http://maven.apache.org/plugins/maven-deploy-plugin/)插件中的命令mvn deploy部署到本地文件夹,得到JAR包的相关文件,POM配置如下:

 <distributionManagement>
  <repository>
    <id>oss</id>
    <url>http://127.0.0.1:8081/repository/maven-releases/</url>
  </repository>
  <snapshotRepository>
    <id>oss</id>
    <url>http://127.0.0.1:8081/repository/maven-snapshots/</url>
  </snapshotRepository>
 </distributionManagement>

注意:

  ①上面的配置是远程仓库的deploy,其中包括了两个地址release和snapshot。

  ②配置deploy到本地仓库只需要配置<repository>节点即可,<snapshotRepository>节点去除。

  ③本地仓库的url参考:file:/user/jim/home/test/或者file:D:/test/

使用命令:mvn deploy

发布好之后整个文件夹test里面的内容可以提交到一个远程目录或者直接使用这个本地目录,在POM项目上配置远程仓库的地址,不过这个url节点可以使用本地路径,配置如下:

<repositories>
  <repository>
    <id>jsoftlocal-mvn-repo</id>
    <url>file:D:/test/</url>
  </repository>
</repositories>

提示:这个url节点可以是远程地址,本地局域网地址,也可以是本地目录地址。

配置好之后,直接在POM上配置自己发布的依赖即可。比如我发布测试的JAR包引入如下:

<dependency>
      <groupId>com.jsoft</groupId>
      <artifactId>testcommon</artifactId>
      <version>0.0.1-SNAPSHOT</version>
    </dependency>

Maven内置变量说明:

  • ${basedir} 项目根目录
  • ${project.build.directory} 构建目录,缺省为target
  • ${project.build.outputDirectory} 构建过程输出目录,缺省为target/classes
  • ${project.build.finalName} 产出物名称,缺省为${project.artifactId}-${project.version}
  • ${project.packaging} 打包类型,缺省为jar
  • ${project.xxx} 当前pom文件的任意节点的内容

到此这篇关于Maven配置项目依赖使用本地仓库的方法汇总(小结)的文章就介绍到这了,更多相关Maven 依赖本地仓库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring Boot实现简单的定时任务

    Spring Boot实现简单的定时任务

    这篇文章主要给大家介绍了关于利用Spring Boot实现简单的定时任务的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用Spring Boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-07-07
  • idea导入配置Spring Boot项目的详细步骤教程

    idea导入配置Spring Boot项目的详细步骤教程

    这篇文章主要给大家介绍了关于idea导入配置Spring Boot项目的详细步骤,在项目开发过程中,无论是导入运行团队开发的项目,还是一些开源项目,还是其他的项目,想要在IDEA中完整的运行起来总有很多坑,需要的朋友可以参考下
    2023-08-08
  • Spring报错:Error creating bean with name的问题及解决

    Spring报错:Error creating bean with name的问

    这篇文章主要介绍了Spring报错:Error creating bean with name的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Java使用POI实现excel文件的导入和导出

    Java使用POI实现excel文件的导入和导出

    这篇文章主要为大家详细介绍了Java如何使用POI实现excel文件的导入和导出功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-12-12
  • mybatis向数据库里插入记录后自动返回记录ID问题

    mybatis向数据库里插入记录后自动返回记录ID问题

    本文介绍了在接手项目时,对一个业务处理逻辑进行重构和性能优化的经历,作者提到,性能问题可能是导致bug的一个重要原因,作者提到,在以前的.NET项目中,插入记录后系统会自动刷新实体类,为其中的主键ID赋值,而SpringBoot项目mybatis也可以通过指定主键来优化代码
    2025-01-01
  • 如何使用CountDownLatch同步java多线程

    如何使用CountDownLatch同步java多线程

    这篇文章主要介绍了如何使用CountDownLatch同步java多线程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • SpringBoot整合WebSocket实现后端向前端发送消息的实例代码

    SpringBoot整合WebSocket实现后端向前端发送消息的实例代码

    WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据,下面这篇文章主要给大家介绍了关于SpringBoot整合WebSocket实现后端向前端发送消息的相关资料,需要的朋友可以参考下
    2023-03-03
  • java Servlet 实现动态验证码图片示例

    java Servlet 实现动态验证码图片示例

    这篇文章主要介绍了java Servlet 实现动态验证码图片示例的资料,这里整理了详细的代码,有需要的小伙伴可以参考下。
    2017-02-02
  • Java教程package和import访问控制的步骤详解

    Java教程package和import访问控制的步骤详解

    这篇文章主要为大家介绍了Java教程package和import访问控制的步骤详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • Spring 方法注解@Bean及配置类扫描路径

    Spring 方法注解@Bean及配置类扫描路径

    这篇文章主要介绍了Spring 方法注解@Bean及配置类扫描路径,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2024-12-12

最新评论