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;

  • 相关阅读:
    errorC4430解决办法(vs2013)
    c++获取系统当前时间写入txt文件
    黑苹果安装记录(史上最简单的安装教程——小白福利)
    运行vs生成的exe出现应用程序无法正常启动(0x000007b)解决方案(亲测有效)
    数据可视化工具grafans,忘记密码恢复默认admin(基本使用教程)
    opencv任意形状角度透视变换(代码分析清晰)
    opencv两张规格一样的图片拼接(纵向和横向)
    linux3
    linux2
    linux1
  • 原文地址:https://www.cnblogs.com/ljx563884657/p/6475443.html
Copyright © 2011-2022 走看看