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

Posted gaobing1252

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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文件的任意节点的内容

以上是关于Maven配置项目依赖使用本地仓库的方法汇总的主要内容,如果未能解决你的问题,请参考以下文章

如何解决Maven依赖本地仓库eclipse报错的问题

Maven简介和安装(配置中央仓库和本地仓库,IDEA配置Maven)

maven发布jar固定版本缓存问题

maven之——maven基础及本地仓库的配置

Maven问题合集

拷同事的本地仓库项目全报错