在平时的开发中,经常需要用到自己以前开发的一个jar包,那么如何使用将自己开发的jar提交到本地仓库中,供其他的项目依赖呢?主要有三种方法:

(1)使用mvn的构建命令:mvn clean install。  (针对自己编写的maven工程,自己编写了pom.xml文件)

解析:install其实是调用mvn的插件maven-install-plugin来完成提交工作的。

对于非自己的开发的jar包,如何做呢?见(2)(3)

(2)使用mvn命令手动提交到本地仓库。

以IkAnalyzer.jar为例

第一步:将IKAnalyzer.jar包存放在一个文件夹中,比如mylib文件夹

  第二步:建一个IKAnalyzer.jar包相关的pom.xml文件,需要在pom.xml中定义其maven坐标及其相应的依赖代码即可,同样将pom文件存放在上述jar文件同一文件夹下,IKAnalyzer.jar坐标及依赖代码如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

 <modelVersion>4.0.0</modelVersion>

 <groupId>org.wltea.ik-analyzer</groupId>

 <artifactId>ik-analyzer</artifactId>

 <version>3.2.8</version>

 <name>IK Analyzer 3</name>

 <description>A dictionary and grammar-based Chinese segmenter.</description>

 <dependencies>

  <dependency>

   <groupId>org.apache.lucene</groupId>

   <artifactId>lucene-core</artifactId>

   <version>3.0.3</version>

   <optional>true</optional>

  </dependency>

  <dependency>

   <groupId>org.apache.solr</groupId>

   <artifactId>solr-core</artifactId>

   <version>1.4.1</version>

   <optional>true</optional>

  </dependency>

  <dependency>

   <groupId>junit</groupId>

   <artifactId>junit</artifactId>

   <version>3.8.2</version>

   <scope>test</scope>

  </dependency>

  <dependency>

   <groupId>org.apache.lucene</groupId>

   <artifactId>lucene-analyzers</artifactId>

   <version>3.0.3</version>

   <scope>test</scope>

  </dependency>

  <dependency>

   <groupId>org.apache.lucene</groupId>

   <artifactId>lucene-smartcn</artifactId>

   <version>3.0.3</version>

   <scope>test</scope>

  </dependency>

 </dependencies>

</project>

  第三步:打开CMD,进入到mylib文件夹,运行下面命令

mvn install:install-file              \

    -Dfile=IKAnalyzer3.2.8.jar        \

    -DgroupId=org.wltea.ik-analyzer    \

    -DartifactId=ik-analyzer          \

    -Dversion=3.2.8                    \

    -Dpackaging=jar 

这样你就可以将IKAnalyzer3.2.8.jar安装到您Maven本地的库文件夹相应目录中。你可以根据你需要安装包的实际情况修改上面的几个参数的设定值即可。之后你可以在pom.xml文件中通过以下依赖在项目中引入上述的包,如下:

<dependency>

            <groupId>org.wltea.ik-analyzer</groupId>

            <artifactId>ik-analyzer</artifactId>

            <version>3.2.8</version>

        </dependency>

(3)直接引入

当然你也可以不将IKAnalyzer3.2.8.jar发布到您本地的Maven库中,而是通过下面配置引入,效果和上面的差不多:

<dependency>

            <groupId>org.wltea</groupId>

            <artifactId>IKAnalyzer</artifactId>

            <version>3.2.8</version>

            <systemPath>C:\Users\yangping\Desktop\a\IKAnalyzer3.2.8.jar</systemPath>

        </dependency>

maven实战(4)-- maven构建自己的jar到本地仓库中的更多相关文章

  1. maven项目或者SpringBoot项目启动时报错在本地仓库中找不到jar包的解决办法

    经常遇到项目检出来后是导入开发工具eclipse中pom文件出错问题,项目启动时遇到了一些列的jar包找不到的问题,所以换个开发平台到IDEA以为会好些,结果同样的问题还是会出现的,为了找到具体的解决 ...

  2. Maven实战:Maven生命周期

    前言 之前有写过一篇文章Maven实战,介绍了Maven的一些基本概念,以及对于一个初学者而言的Maven基础知识,当时在我看来掌握了这些基本是够用的. 随着工作的深入,越来越感觉对于Maven的理解 ...

  3. maven自定义jar到本地仓库

    Apache Maven为项目构建提供了绝佳的解决方案,其本地仓库中缓存了远程代理仓库或中央仓库中的资源,从而提高网络资源使用效率,很好很强大!  但是并非所有资源都可以根据GroupId.Artif ...

  4. 在eclipse的maven插件中搜寻本地仓库中的jar搜索不到的解决方案

    在eclipse的maven插件中搜寻本地仓库中的jar搜索不到的解决方案 之前,用过maven管理项目的童鞋都知道本地会有一个${User_Home}.m2/repository仓库 是用来存放ja ...

  5. 如何将本地的jar包上传到maven本地仓库中

    首先需要将本地的jar包做mvn install到本地仓库中 mvn install:install-file -Dfile=D:\skyeye-ruleInfo\lib\lucene-querypa ...

  6. Maven - 实例-2-使用本地仓库中的依赖包

    Maven引入构建包的流程 执行mvn compile命令编译源代码,如果编译过程中需要用到其他的包, maven将会在pom.xml文件中查找是否引入该依赖包的坐标. 示例: <depende ...

  7. 本地jar包 安装到本地仓库中的命令

    maven 项目 本地jar包 安装到本地仓库中去: 首先进入到该文件所在文件夹内 若不在直接绝对路径就可以.注意命令中的空格 mvn install:install-file  -Dfile=文件名 ...

  8. Maven实战——Gradle,构建工具的未来?

    许晓斌-- 四月 05, 2011 Maven面临的挑战 软件行业新旧交替的速度之快往往令人咂舌,不用多少时间,你就会发现曾经大红大紫的技术已经成为了昨日黄花,当然,Maven也不会例外.虽然目前它基 ...

  9. Maven实战——常用Maven插件介绍

    maven nexus 库已上传了第三方jar,但就是用mvn compile下不到本地 回答于 2013-06-04 14:40 你是通过何种方式上传到nexus的? 有给pom文件吗? 如果是单纯 ...

随机推荐

  1. 王垠 :写给支持和反对《完全用Linux工作》的人们 ( 2004/8/26)

    在一阵阵唾骂和欢呼声中,<完全用linux工作>被转载到了天涯海角.很多人支持我,也有很多人唾骂我.我不知道它是怎样流传到那么多地方,其实 我不知道它都被转到哪里去了…… 我知道现在这篇文 ...

  2. Camtasia Studio录制屏幕字迹不清晰的原因

    Camtasia Studio这是一个很优秀的屏幕录像软件,功能强大且录制效果出色,支持众多格式输出: 之前一直用它录制视频的都很正常,但这次换系统后再重新安装后录制视频时,发现输出的视频画质不佳,文 ...

  3. centos 7 安装官方LAMP(Apache+PHP5+MySQL)

    启用Apache2 yum install httpd systemctl start httpd.service systemctl status httpd systemctl enable ht ...

  4. c++ struct与class的差别

    从语法上,在C++中(仅仅讨论C++中).class和struct做类型定义时仅仅有两点差别: (一)默认继承权限. 假设不明白指定,来自class的继承依照private继承处理.来自struct的 ...

  5. centos Linux 常用命令汇总

    CentOS 关闭防火墙 1) 永久性生效,重启后不会复原 开启: chkconfig iptables on 关闭: chkconfig iptables off 2) 即时生效,重启后复原 开启: ...

  6. java 短信猫发送短信的方法

    用java实现短信收发的功能,目前一般项目中短信群发功能的实现方法大致有下面三种: ·                 1. 向运行商申请短信网关,不需要额外的设备,利用运行商提供的API调用程序发送 ...

  7. 1 npoi 网上 不用模板 设置密码 workbook.WriteProtectWorkbook("password", "admin"); 、、 2 locked.IsLocked = true; sheet1.ProtectSheet("password");NPOI操作EXCEL--设置密码才可以修改单元格内容 3 模板设置密码 确定原密码 设置新密码

    1 workbook.WriteProtectWorkbook("password", "admin"); 还是可以进去 只读进去 可以编辑 编辑就另存为   ...

  8. javascript读取和改动原型特别须要注意的事儿,由于原型的读写不具有对等性

    对于从原型对象继承而来的成员,其读和写具有内在的不正确等性.比方有一个对象A,假设它的原型对象是B.B的原型对象是null.假设我们须要读取A对象的name属性值,那么JS会优先在A中查找.假设找到了 ...

  9. HDU2489 Minimal Ratio Tree 【DFS】+【最小生成树Prim】

    Minimal Ratio Tree Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  10. SDOI2016R1(不是解题报告)

    话说洗澡的时候想了一堆要说的,坐到电脑前反而不知所措了-- 序章 听学长说他们都是省选一周前才停的课.然而我们这届--自聪哥韩大他们在省选两周前悄悄跑路后(据说班主任非常支持),信息小组内部一呼百应, ...