文档章节

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

树上的风筝
 树上的风筝
发布于 2016/07/13 15:10
字数 585
阅读 2.4K
收藏 0

精选30+云产品,助力企业轻松上云!>>>

大家在自己写项目中遇到过想在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>

树上的风筝
粉丝 2
博文 38
码字总数 20218
作品 0
朝阳
程序员
私信 提问
加载中
请先登录后再评论。
如何部署测试环境

项目所用的编程语音一般是Java(这里以Java为例) 部署步骤如下: 一、将远程git仓库的代码部署到远程服务器上 :使用 git clone 命令:将存储库克隆到新创建的目录中 $ git clone <版本库的网...

osc_2suhysff
2019/06/24
2
0
Maven01 环境准备、maven项目结构、编译/测试/打包/清除、安装、

0 前提准备   0.1 安装java开发环境   0.2 安装maven工具 1 maven项目基本结构   如图所示,整个maven项目有业务文件、测试文件、POM依赖管理文件;其实还有一个资源文件resources; ...

osc_tj3vajy0
2018/12/09
3
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 自动化构建Java程序的工具,比较强大,现在很多Java项目都是基于maven构建的,所以有必要学习。而且,太多的hadoop项目也是采用maven添加依赖的。使用maven的另外一个原因是...

Allocator
2017/04/28
0
0
Maven学习之初识Maven

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Allocator/article/details/70177030 系统的学习maven 自动化构建Java程序的工具,比较强大,现在很多Java项目...

Allocator
2017/04/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

【题解】p6160 [Cnoi2020]向量

原题传送门 序 啊又是勤奋学习的一天...... 这种mo题目能做出来纯靠感觉。 样例分析 样例输入给了组3、4、5的勾股数,而输出正好是三向量加和为0时的答案。 嗯我好像感觉到了什么...... 于是...

osc_4dady4pk
21分钟前
13
0
【题解】p6160 [Cnoi2020]向量

原题传送门 序 啊又是勤奋学习的一天...... 这种mo题目能做出来纯靠感觉。 样例分析 样例输入给了组3、4、5的勾股数,而输出正好是三向量加和为0时的答案。 嗯我好像感觉到了什么...... 于是...

osc_a7a1prn6
22分钟前
13
0
FreeSql (一)入门

FreeSql是一个功能强大的 .NET ORM 功能库,支持 .NetFramework 4.0+、.NetCore 2.1+、Xamarin 等支持 NetStandard 所有运行平台。(QQ群:4336577) 模型 FreeSql 使用模型执行数据访问,模...

osc_smzoc82r
23分钟前
18
0
TCP协议粘包问题详解

TCP协议粘包问题详解 前言   在本章节中,我们将探讨TCP协议基于流式传输的最大一个问题,即粘包问题。本章主要介绍TCP粘包的原理与其三种解决粘包的方案。并且还会介绍为什么UDP协议不会产...

osc_tjnx25e9
26分钟前
12
0
Ubuntu16.04密码正确 进不去桌面系统(已测试恢复正常)

遇到过两次ubuntu输入密码正确,但是进不去系统,输入密码后,跳转到一下界面 之后又返回到登陆界面,一直这样循环输入密码。 Guest用户可以。 解决办法:   1。进入tty下 :ctrl+alt+F1(F...

osc_lfbryx1h
27分钟前
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部