文档章节

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

树上的风筝
 树上的风筝
发布于 2016/07/13 15:10
字数 585
阅读 733
收藏 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
maven 生命周期和常用命令

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

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

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

陈小扁
2016/02/25
114
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

没有更多内容

加载失败,请刷新页面

加载更多

Spring核心概念--Spring01

小生初出程序茅庐,走上编程之路,还请各位大佬多多管照。 初学Spring框架: 创建HelloWorldSpring项目 用eclipse开发Web项目,添加jar包: commons-logging-1.2.jar log4j-1.2.17.jar spring-...

小橙子的曼曼
6分钟前
0
0
MySQL 运行状态监控方法

一、通过shell脚本监控mysql的qps,tps,io详细见附件脚本《mysqlgather.sh》 因在脚本中直接设置密码会提示告警信息,需要在my.cnf文件中的[client]标签下增加默认的用户名和密码,并重启mys...

PeakFang-BOK
10分钟前
0
0
ROS实操笔记 四 topic (主题)

主题 消息以一种发布/订阅的方式传递。一个节点可以在一个给定的主题中发布消息。一个节点针对某个主题关注与订阅特定类型的数据。可能同时有多个节点发布或者订阅同一个主题的消息。总体上,...

placido
10分钟前
0
0
【NLP】【六】gensim之doc2vec

【一】总述 doc2vec是指将句子、段落或者文章使用向量来表示,这样可以方便的计算句子、文章、段落的相似度。 【二】使用方法介绍 1. 预料准备 def read_corpus(fname, tokens_only=False):...

muqiusangyang
13分钟前
0
0
node中process.nextTick & promise & 异步IO & setTimeout & setImmediate 的优先级

process.nextTick > promise > setTimeout > 异步IO > setImmediate

小草先森
20分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部