文档章节

mvn本地生成jar包放在mvn项目依赖(将jar包传到本地仓库)

树上的风筝
 树上的风筝
发布于 2016/07/13 15:10
字数 585
阅读 519
收藏 0
点赞 0
评论 0

大家在自己写项目中遇到过想在pom文件中加入自己开发依赖包,这些包肯定不是Maven仓库(http://mvnrepository.com/其中一个仓库)的,那我们怎么将那些不存在Maven仓库中的包加入到本地Maven仓库中?

案例:

我有一个Maven构建的项目,项目模块之间有依赖关系,我需要用到一个本地的jar包(是我自己写的Java常用的工具类),而该jar包不能通过配置pom.xml文件从远程仓库自动下载,于是我直接导入该jar包到其中一个项目,不通过pom.xml进行管理,导致其他依赖该模块的模块不能引用该jar,出现ClassNotFoundException。

 

上面的common.util.jar包我是通过

 

现在想通过pom.xml引入该jar包,

 

  第一步:将common.util.jar包存放在一个文件夹中,比lib文件夹,我直接用maven生成到target下面.

    第二步:在eclipse中,运行下面代码(run As->maven build),如下图:

        mvn install:install-file -Dfile=D:\git_data\target\common.util.jar -DgroupId=common_util -DartifactId=common_util -Dversion=0.0.1.0-SNAPSHOT -Dpackaging=jar

解释:-DgroupId 就是pom.xml里定义的groupId,

        -DartifactId就是pom.xml里定义的artifactId

       -Dversion =就是pom.xml里定义项目的版本号

    如果不存在就根据实际情况填写,没有就按你想要的写就行。

第三步:

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

<dependency>
        <groupId>common_util</groupId>
        <artifactId>common_util</artifactId>
        <version>0.0.1.0-SNAPSHOT</version>
    </dependency>

这样就可以了。再maven本地仓库中就能找到jar包了。如下图:


 

 

第二种方式:

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

<dependency>
        <groupId>common_util</groupId>
        <artifactId>common_util</artifactId>
        <version>0.0.1.0-SNAPSHOT</version>

         <scope>system</scope>

  <systemPath>D:\git_data\target\common.util.jar</systemPath>    

</dependency>

© 著作权归作者所有

共有 人打赏支持
树上的风筝
粉丝 1
博文 37
码字总数 20210
作品 0
朝阳
程序员
Maven学习之初识Maven

系统的学习maven 自动化构建Java程序的工具,比较强大,现在很多Java项目都是基于maven构建的,所以有必要学习。而且,太多的hadoop项目也是采用maven添加依赖的。使用maven的另外一个原因是...

Allocator
2017/04/28
0
0
maven的使用笔记

1. 安装 下载zip包解压,将bin目录配置至PATH(最好是配置HOME然后引用) 修改conf下53行的setting标签,指定本地仓库的路径 在eclipse或Myeclipse中add,并采用自己的setting文件 1.1 Mave...

mmythos
2017/01/06
0
0
手动将本地jar添加到Maven仓库

一、将jar添加到本地仓库的做法:以下面pom.xml依赖的jar包为例:实际项目中pom.xml依赖写法: Maven 安装 JAR 包的命令是: 例如我的这个spring-context-support-3.1.0.RELEASE.jar 文件放在...

zph-alan
2017/09/26
0
0
maven 生命周期和常用命令

一、Maven的生命周期 Maven的生命周期就是对所有的构建过程进行抽象和统一。包含了项目的清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成等几乎所有的构建步骤。 Maven的生...

诗和_远方
2017/03/29
0
0
maven 从入门到实战

1.什么是Maven 我们要开发一个Java 项目,为了保证编译通过, 通常情况下会去寻找jar包,这样很容易造成项目的臃肿, maven提供了很好的项目开发规范与工具, maven 统一管理了jar包,接下来让...

陈小扁
2016/02/25
114
0
Maven使用GitHub项目目录搭建远程仓库

使用GtiHub的项目目录搭建第三方远程仓库,能免除使用服务器搭建Nexus私服,而且空间也是免费的。但是这种方式只适合小规模发布,毕竟搜索和版本控制是一个问题,如果需要更复杂的功能就只能...

easonjim
2017/06/18
0
0
maven使用小节

阿里云的maven镜像 镜像代码 添加位置: 重启ide工具即可 将jar包导入本地仓库 有些jar包在maven资源库中没有,要手动引入本地maven仓库 mvn install:install-file -DgroupId=公司名称 -Darti...

流光韶逝
2016/12/12
7
0
Maven——学习(1):基础概念

  Maven(翻译为"专家","内行")是跨平台的项目管理工具。主要服务于基于Java平台的项目构建,依赖管理和项目信息管理。 1.1、项目构建   项目构建过程包括【清理项目】→【编译项目】→【...

凡尘里的一根葱
2015/09/12
10
0
Maven基础学习2

一、Maven的基本概念   Maven(翻译为"专家","内行")是跨平台的项目管理工具。主要服务于基于Java平台的项目构建,依赖管理和项目信息管理。 1.1、项目构建   项目构建过程包括【清理项目...

浮躁的码农
2016/01/26
6
0
Maven基础学习3

Maven学习总结 最近我学习了一下Maven工具,下面是我对Maven的理解,有理解不对的地方也请批评指正。 1.Maven是什么? 首先Maven是一个项目管理工具,基于项目对象模型(POM),它主张遵循"约定...

浮躁的码农
2016/01/26
70
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

代码生成利器:IDEA 强大的 Live Templates

代码生成利器:IDEA 强大的 Live Templates

qwfys
24分钟前
1
0
spring boot使用通用mapper(tk.mapper) ,id自增和回显等问题

最近项目使用到tk.mapper设置id自增,数据库是mysql。在使用通用mapper主键生成过程中有一些问题,在总结一下。 1、UUID生成方式-字符串主键 在主键上增加注解 @Id @GeneratedValue...

北岩
27分钟前
1
0
告警系统邮件引擎、运行告警系统

告警系统邮件引擎 cd mail vim mail.py #!/usr/bin/env python#-*- coding: UTF-8 -*-import os,sysreload(sys)sys.setdefaultencoding('utf8')import getoptimport smtplibfr......

Zhouliang6
30分钟前
0
0
日常运维--rsync同步工具

rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而...

chencheng-linux
34分钟前
1
0
Java工具类—随机数

Java中常用的生成随机数有Math.random()方法及java.util.Random类.但他们生成的随机数都是伪随机的. Math.radom()方法 在jdk1.8的Math类中可以看到,Math.random()方法实际上就是调用Random类...

PrivateO2
46分钟前
1
0
关于java内存模型、并发编程的好文

Java并发编程:volatile关键字解析    volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在...

DannyCoder
昨天
0
0
dubbo @Reference retries 重试次数 一个坑

在代码一中设置 成retries=0,也就是调用超时不用重试,结果DEBUG的时候总是重试,不是0吗,0就不用重试啊。为什么还是调用了多次呢? 结果在网上看到 这篇文章才明白 https://www.cnblogs....

奋斗的小牛
昨天
1
0
数据结构与算法3

要抓紧喽~~~~~~~放羊的孩纸回来喽 LowArray类和LowArrayApp类 程序将一个普通的Java数组封装在LowArray类中。类中的数组隐藏了起来,它是私有的,所以只有类自己的方法才能访问他。 LowArray...

沉迷于编程的小菜菜
昨天
0
0
spring boot应用测试框架介绍

一、spring boot应用测试存在的问题 官方提供的测试框架spring-boot-test-starter,虽然提供了很多功能(junit、spring test、assertj、hamcrest、mockito、jsonassert、jsonpath),但是在数...

yangjianzhou
昨天
1
0
rsync工具介绍/rsync通过ssh同步

rsync工具介绍 数据备份是必不可少,在Linux系统下数据备份的工具很多,其中重点介绍就是rsync工具,rsync不仅可以远程同步数据,还可以本地同步数据,且不会覆盖以前的数据在已经存在的数据...

Hi_Yolks
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部