zoukankan      html  css  js  c++  java
  • maven项目中添加自己的jar包

    转载自:http://blog.csdn.net/fanchou/article/details/36421743

          假如,你有一个已经下载或者编译好的jar包(本地),如何加入到maven的项目中?

          PS:本人是在Linux操作系统

          举例子吧: 

          别人实现了bloom-filter算法,打了一个Java-bloomfilter-1.0.jar的包。

           1、找到并下载该包到本地,可以任意找个位置保存,例如保存在mylib文件夹下;

           2、安装该jar包到maven的本地仓库中,主要用到maven的命令:

                root]#  mvn install:install-file   -Dfile=java-bloomfilter-1.0.jar  -DgroupId=com.sina  -DartifactId=java-bloomfilter -Dversion=1.0  -Dpackaging=jar

               上面的命令解释:

                -Dfile:指明你当前jar包的位置(就是第1步存放jar的路径+jar包名);

                -DgroupId, -DartifactId,  -Dversion:三个参数,就是指明了存放maven仓库中的位置;(看后面的相关解释或者阅读文献【1】);

                -Dpackaging :猜测就是指明文件类型;

          3、在执行完上述maven安装命令后,系统在默认的maven仓库中,按照参数指定的位置创建文件夹和文件,并移入jar包。您需要在你的maven项目的pom.xml文件中加入

                该jar包的引用即可:

                <dependency>
                   <groupId>com.sina</groupId>
                   <artifactId>java-bloomfilter</artifactId>
                   <version>1.0</version>
                </dependency>

             4、编译你的工程项目,利用mvn compile测试是否有错。按照常理应该是不会再有问题了。

    ***********************万恶的分割线********************************

    这里多写一点吧,maven项目的pom.xml文件内的依赖,都是先从本地的maven仓库搜寻,如果找不到,再去寻址下载。这里讲一下,它是如何搜索本地仓库的。

    默认是在您当前用户名下的.m2的repository文件夹下,依据pom.xml提供的信息进行搜寻。例如,我们上面在pom.xml文件中加入了如下信息:

               <dependency>
                   <groupId>com.sina</groupId>
                   <artifactId>java-bloomfilter</artifactId>
                   <version>1.0</version>
                </dependency>

    maven,就会将<groupId>的值,以“.”分割,分成多个文件夹,“.”左边的文件夹认为是包含“.”右边的文件夹。就比如:<groupId>com.sina</groupId>

    就是com/sina/。它会找com/文件夹下是否包含sina文件夹。找到后,以次查找<artifactId>、<version>,分别当成是一个文件夹,并认为是前者包含后者,最终认定路径是:“xxxUser/.m2/repository/com/sina/java-bloomfilter/1.0/“

    找到路径后,又会查找以“<artifactId>+“-”+<version>的文件名的jar包,即java-bloomfilter-1.0.jar包。

    如果找不到,就会网上的<groupId>指定的地址,然后按照上述方式再查找该包,并下载包。下载的位置也是按照上述方式创建文件夹,进行保存。

    PS:我们的jar开始就是利用mvn的命令安装的。它自然会按照上述路径的组织方式,进行jar包的安放。(别忘了,那几个重要参数!!!)

    参考文献:

    <1>http://blog.csdn.NET/wypblog/article/details/9729621;

    <2>http://hi.baidu.com/hotthought/item/57ce101556d0ba0de75c36c5;

    <3>http://www.blogjava.Net/fancydeepin/archive/2012/06/12/380605.html;

    <4>http://www.cnblogs.com/richard-jing/archive/2013/01/27/Maven_localjar.html;

    <5>http://blog.chinaunix.net/uid-25150840-id-4221117.html;

  • 相关阅读:
    自写简单弹出框
    eclipse中debug模式不能启动运行,run运行模式却能启动运行!
    事务特性简单理解
    Java虚拟机4:内存溢出
    Java虚拟机3:常用JVM命令参数
    Java虚拟机2:Java内存区域及对象
    Eclipse技巧
    js常用的原生方法
    JavaScript调试小技巧
    html 锚点的使用
  • 原文地址:https://www.cnblogs.com/ljx563884657/p/6475443.html
Copyright © 2011-2022 走看看