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


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

     

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

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

    复制代码
          <dependency>
             <groupId>ldapjdk</groupId>
             <artifactId>ldapjdk</artifactId>
             <scope>system</scope>
             <version>1.0</version>
             <systemPath>${basedir}srclibldapjdk.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>srcmainwebappWEB-INFlib</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文件的任意节点的内容
  • 相关阅读:
    Java内存模型深度解析:final
    Java内存模型深度解析:总结
    打印流
    Properties
    进制间的转换
    JAVA IO
    001课-java_web开发入门
    openssl生成https证书 (转)
    PostgreSQL中COUNT的各条件下(1亿条数据)例子
    6个原因说服你选择PostgreSQL9.6
  • 原文地址:https://www.cnblogs.com/gaobing1252/p/11110646.html
Copyright © 2020-2023  润新知