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包的思路参考:http://www.cnblogs.com/EasonJim/p/6794423.html

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文件的任意节点的内容

原文地址:https://www.cnblogs.com/gaobing1252/p/11110646.html

时间: 2024-11-07 06:54:50

Maven配置项目依赖使用本地仓库的方法汇总的相关文章

Maven解读:项目依赖管理如何优化

Github地址:https://github.com/zwjlpeng/Maven_Detail Maven最大的好处莫过于其强大的依赖管理系统,在Pom配置文件中指定项目需要的Jar包的坐标,Maven就可以自动帮我们从中央仓库或者自已的私服下载,当项目中由于依赖的传递性,引入了两份相同的Jar包时,Maven也会根据自已的规则如路径最短,先声明者优先对相同Jar包进行取舍,达到项目类路径中只保留一份Jar包的目的,我们不排队一些粗心的程序员,在同一份Pom配置文件中对相同Jar写了两份不同

maven 配置: 修改默认的 .m2仓库 默认存储路径.

maven 配置: 修改默认的 .m2仓库 默认存储路径. 一 .在系统maven里修改 1.在maven_HOME/conf/下找到配置文档 settings.xml 在文档中添加如下的配置说明 <localRepository>/home/morpheus/.m2/repository</localRepository> 1 例如 settings.xml : .... <settings xmlns="http://maven.apache.org/SETTI

Maven入门系列(二)--设置中央仓库的方法

原文地址:http://www.codeweblog.com/maven入门系列-二-设置中央仓库的方法/ Maven仓库放在我的文档里好吗?当然不好,重装一次电脑,意味着一切jar都要重新下载和发布. 下载的地址是中央仓库mvnrepository.com,当然,全球很多个仓库. 资源的坐标简称GVA 那么,现在如何修改maven的本地仓库路径呢? 关键在于maven文件夹的config下的settings.xml(E:\IDE\apache-maven-3.3.1\conf\settings

【Maven】Maven的下载与配置,修改其本地仓库,并挂在到Eclipse for javeee建立一个Servlet3.0的Helloworld

首先说一下Maven是什么.经常听Maven项目好像很高大上的样子,其实Maven只是一个jar的下载工具.配置了Maven的项目,在程序猿的开发机器能够联网的时候,能够自己上网下载程序猿需要的jar包,省去程序猿自己上各个国外官网,忍受着卡爆的网速,找jar包的蛋疼.由于Maven是Apache的项目,Apache在全世界都配有服务站点,因此通过Maven下jar包,是很不错的.同时,现在一些Struts2等国外项目也开始傲娇起来,在官网上通通都只提供自己的Maven依赖,让程序猿自己通过这条

maven 添加jar包到本地仓库及到项目中

maven 构建项目时,可能会引用到一些公司的其他项目.或引用的jar 包在maven 主仓库加载不到. 这时我们可以将我们需要的jar 包安装到本地仓库中.方法如下. <dependency>    <groupId>org.springframework</groupId>    <artifactId>spring-context-support</artifactId>    <version>3.1.0.RELEASE<

Maven安装jar包到本地仓库

假设自己开发了一个公共类库想要用到其它项目中,为了方便管理所有项目都引入Maven,如果在项目上要用这个公共类库,可以有如下思路解决: 1.采用本地手动机制拷贝项目到lib文件夹中,但是缺点就是更新这些操作都必须是手动. 2.搭建私有仓库nexus,把公共库提交上去. 3.上次到默认中央仓库,参考:http://www.cnblogs.com/EasonJim/p/6671419.html 4.安装到本地仓库,既local中. 很明显,第4种方式是最方便且最快的,每次类库更新后再更新到本地仓库中

maven 安装 jar 包到本地仓库,已 Oracle11g 的访问包 为例

maven 作为 java 的首选包管理工具,使我们在创建和维护项目的时候变得十分简单,但是 maven 仓库并不是拥有的一切 jar 包的, 很多 jar 包由于收费或者版权什么的其他原因,并不存在于 公用的 mavne 仓库,需要我们去手动下载引入,但是为了统一管理项目 依赖,我们需要将这些 jar 包安装在 maven 的本地仓库,这样就能被项目引入了,下面就以 oracle 的 访问依赖包为例 1,下载 需要的 jar 包,去 oracle 官网下载,或者本地安了 oracle 数据库的

Maven把项目依赖的所有jar包都打到同一个jar中

目录 1 使用maven-shade-plugin 2 推荐: 使用maven-assembly-plugin 3 扩展: Maven安装本地jar包到本地仓库 4 扩展: 手动生成jar包 5 扩展: Linux下运行jar包的几种方式 5.1 阻塞式方式 5.2 后台运行方式 5.3 后台持续运行方式 5.4 其他命令扩展 1 使用maven-shade-plugin (1) 在项目的pom.xml文件中加入如下插件: <build> <plugins> <!-- Mav

使用maven替换项目依赖中的字节码

问题描述 我们偶尔会发现一些开源项目的问题,或者出于其他原因,想在某个dependency的代码中加几行或者删除几行来达到目的. 我这里遇到一个dubbo 2.7.3和open feign冲突的问题 参见 Issue https://github.com/apache/dubbo/issues/3990. 这里不能等官方修复这个问题并发布更新时,怎么让项目正确的跑起来呢? 问题思路 第一种 字节码替换技术?使用bytebuddy,javassist, asm? 这些技术的局限性,就是JVM本身不