zoukankan      html  css  js  c++  java
  • (转)如何在maven的pom.xml中添加本地jar包

    1 maven本地仓库认识

    maven本地仓库中的jar目录一般分为三层:图中的1 2 3分别如下所示:

    1 groupId
        2 artifactId
            3 version
          4 jar包的依赖

    如果要将maven本地仓库中的jar包添加到项目中,直接打开4 xx.pom文件,将改jar包的相关依赖复制pom.xml文件中即可。

    2 将本地jar包添加到本地仓库

    2.1 添加jar到本地仓库

    原则上Maven的设计是不需要这么做的,因为pom.xml中依赖的jar包会自动实现从中央仓库下载到本地仓库。

    但也有特殊情况。

    比如我下载了

    lucene-queryparser-4.6.1.jar

    怎么添加jar到本地仓库呢?
    步骤:
    1.cmd命令进入该jar包所在路径

    (快捷键:shift+右键  选择在此处打开命令行窗口)

    ps:jar包可以在任意一个文件夹目录下面,不要放在分区的根目录,也不要自己去创建maven中的相关目录。

    不需要去创建相关目录,mvn install之后会自动将相关的jar包放入本地仓库。


    2.执行命令:

    mvn install:install-file -Dfile=lucene-queryparser-4.6.1.jar -DgroupId=org.apache.lucene -DartifactId=lucene-queryparser -Dversion=4.6.1 -Dpackaging=jar

    其中:-DgroupId和-DartifactId的作用是指定了这个jar包在repository的安装路径,只是用来告诉项目去这个路径下寻找这个名称的jar包。

    一般用的jar包都是在mven仓库中下载的,所以groupId和artifactId直接将复制maven仓库中的设置即可。

    <!-- https://mvnrepository.com/artifact/org.apache.lucene/lucene-queryparser -->
    <dependency>
        <groupId>org.apache.lucene</groupId>
        <artifactId>lucene-queryparser</artifactId>
        <version>4.6.1</version>
    </dependency>

    比如:
    mvn install:install-file -Dfile=hadoop-hdfs-2.2.0.jar -DgroupId=org.apache.hadoop -DartifactId=hadoop-hdfs -Dversion=2.2.0 -D -Dpackaging=jar
    就是指把hadoop-hdfs-2.2.0.jar安装到repositoryorg.apache.hadoophadoop-hdfs2.2.0目录下,执行完命令后,如果需要在项目中使用这个jar,则在pom.xml中添加如下配置即可:

    <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-hdfs</artifactId>
          <version>2.2.0</version>
    </dependency>

    ps:执行上述命令后,在该jar包所在目录中会生成一个 jar包名字.pom的文件,里面有描述改jar包的坐标信息。
    提示:文件目录只是标识jar的位置,也可以直接把目录下的jar包替换,就能够用以前的坐标,在项目中导入替换的jar包。这么做比较省事,但是并不提倡这么做。

    注意,在命令中,每个参数前有个-D标识。

     2.2 添加lib目录下的jar包到本地仓库

    怎么在pom.xml中添加项目中libs下的jar呢,而不是从本地仓库中添加?

    1、首先将要添加的jar包复制到项目中的libs文件夹下

    2、然后在pom.xml中添加如下代码:

    <dependency>
      <groupId>htmlunit</groupId>
      <artifactId>htmlunit</artifactId>
      <version>2.21-OSGi</version>
      <scope>system</scope>
      <systemPath>${project.basedir}/libs/htmlunit-2.21-OSGi.jar</systemPath>
    </dependency>

    注意libs文件夹下的这个jar包不需要Add to Build Path

    (该方法并未做尝试)

    下面是maven中央仓库的地址:

    http://mvnrepository.com/artifact/net.sourceforge.htmlunit/htmlunit/2.21

    可以在这里搜索想要的jar包,然后复制对应的依赖代码到你项目中的pom.xml中,则对应的jar包将下载到你本地的maven仓库中,以提供给你使用。

  • 相关阅读:
    编译错误总结。
    9.7
    9.5
    9.6
    9.4
    9.3
    FutureTask取结果超时代码小测试
    java concurrent包常用类小结
    java Nio零散知识点整理
    java进阶教程unit_2java常用类(2)
  • 原文地址:https://www.cnblogs.com/lixuwu/p/5855031.html
Copyright © 2011-2022 走看看