MAVEN 编译打包测试 指定本地jar
转载自:http://penuel.iteye.com/blog/1766102
maven对于互联网开发,进行版本管理有着不可或缺的作用; 
而经常开发的程序猿直接联调或者依赖未上线或deploy的版本,需要在本地编译打包通过,如果pom文件依赖了maven库里的,则会出现冲突; 
那么怎样进行本地jar依赖打包编译呢? 
提供3种方式: 
第一种方式:更改pom文件: 
将原来的pom依赖,更改为新的依赖,如下面代码,加systemPath和scope指定你文件的位置
- <!-- <dependency>
 - <groupId>com.xiaonei.xce</groupId>
 - <artifactId>oce-adapter</artifactId>
 - <version>1.1-SNAPSHOT</version>
 - </dependency> -->
 - <dependency>
 - <groupId>com.xiaonei.xce</groupId>
 - <artifactId>oce-adapter</artifactId>
 - <version>1.1-SNAPSHOT</version>
 - <systemPath>/home/penuel/renren/other-jar/oce-adapter-1.1-SNAPSHOT.jar
 - </systemPath>
 - <scope>system</scope>
 - </dependency>
 
注意:这样加依赖有2点需要注意: 
1:如果你本身依赖的oce-adapter依赖了其他jar,而这些间接依赖的jar在你自己项目里还用到了,则需要在pom里加这些间接依赖,因为新改的这种依赖方式,只会添加一个jar进来; 
2:这样添加之后,编译是可以通过的,但是打包还会会从本地maven库里取相应的jar(如果你本地库里没有,则不会打包到工程里),而不是把你配置的jar文件打包进去,所以需要打包完成后将lib下jar替换掉; 
第二种方式:直接替换本地maven库里jar文件: 
用下面命令:
- mvn install:install-file
 - -DgroupId=com.xiaonei.xce-DartifactId=oce-adapter
 - -Dversion=1.1-SNAPSHOT
 - -Dfile=/home/penuel/renren/other-jar/oce-adapter-1.1-SNAPSHOT.jar
 - -Dpackaging=jar \-DgeneratePom=true
 
这样本地库里就是你要测试的这个jar了,打包编译两不误;记得备份之前的版本,说不定有用。(如果换不了,记得把之前的mavn库中该jar文件夹删掉,则执行命令即可) 
第三种方式:取消pom依赖,直接在buildpath里面添加jar路径;或者在eclipse里面build path的add libraires,然后进行编译,打包也和第一种方式一样; 
最后,如果测试过,包deploy了,记得mvn -U 或者改回pom文件。
MAVEN 编译打包测试 指定本地jar的更多相关文章
- 分享知识-快乐自己:IDEA下maven编译打包Java项目成jar包但是resource下配置文件无法编译
		
今天在写分布式项目的时候,一直无法编译 resource 下的配置文件:(在target文件夹下的 classes文件查看是否编译) 最后只能通过在POM文件中配置resources配置 得以解决: ...
 - Maven settings.xml配置(指定本地仓库、阿里云镜像设置)
		
转: 详解Maven settings.xml配置(指定本地仓库.阿里云镜像设置) 更新时间:2018年12月18日 11:14:45 作者:AmaniZ 我要评论 一.settings. ...
 - MAVEN打包同时引入本地jar包
		
方法一(pom文件指定jar包目录进行引入) 1.将需要手动引入的包放在项目目录下,如lib目录下: 修改pom文件,引入依赖并且将scope设置为system 2.同时配置maven打包插件 方法二 ...
 - maven打包时包含本地jar
		
项目中需要使用maven的打包工具,生成zip压缩包,使用的插件是assembly-plugin.因为一些特殊的原因,需要使用一些本地的jar进行依赖,加载外部jar后编码过程中没有任何问题,但是打包 ...
 - Maven 梳理-手动创建Maven项目(非web),使用Maven编译、测试、打包、安装、引用
		
创建空目录 F:\jtDevelop\maventest\myapp 创建pom.xml文件 <project xmlns="http://maven.apache.org/POM/4 ...
 - maven打包war,导入本地jar包
		
方法1: 一 . 在项目根目录创建lib文件夹,把jar放入lib文件夹中 二 . 在项目中使用本地jar pom文件配置如下: <properties> <project.buil ...
 - Maven中如何将源码之外的文件打包及添加本地jar
		
<build> <resources> <resource> <directory>src/main/resources</directory&g ...
 - maven工程打包成runnable的jar包,拷贝资源和依赖jar包
		
eclipse下新建maven工程,生成runnable的jar包.之前一直是手动拷贝依赖的jar包和资源文件,烦得要死.上网可劲查了一下.解决方案如下. 在pom的配置文件中做如下配置: <b ...
 - MAVEN 编译打包时报“.....找不到符号” 的处理方法总结
		
这个错都是在MAVEN插件在编译的时候报的,所以问题一定是出在编译的环节上. 这个时候就要好好检查MAVEN的编译配置, 1.看看配置里的编译版本和本机环境上配置的java版本是否一致,有时候报错的类 ...
 
随机推荐
- RedHat安装Oracle后中文乱码
			
radhat7.1 Oracle11gr2 安装Oracle时忘记设置字符集,导致安装后中文乱码,中文变成"???????????" 分析原因是Oracle服务器端和客户端的字符集 ...
 - PIC32MZ 通过U盘在线升级 -- USB Host bootloader
			
了解bootloader的实现,请加QQ: 1273623966(验证填bootloader); 欢迎咨询或定制bootloader; 我的博客主页 www.cnblogs.com/geekygeek ...
 - Python的类(二)
			
一.类的重写 对于父类的方法,只要它不符合子类模拟的实物的行为,都可对其进行重写.为此,可在子类中定义一个这样的方法,即它与要重写的父类方法同名.这样, Python将不会考虑这个父类方法,而只关注你 ...
 - Flexbox布局模式的理解
			
个人博客地址: 雨中的鱼-前端知识分享 http://www.showhtml5.cc 分享干货,有兴趣的人可以一起来分享前端知识 加Q群:440279380 Flexbox,一种C ...
 - Python初步
			
准备在工作之余看看Python的东西 收录一些资料 Python初学者(零基础学习Python.Python入门)常见问题:书籍推荐.资料.社区 http://blog.csdn.net/xiaowa ...
 - Kotlin 1  函数
			
#2 函数 函数声明和平时我见到的有点不太一样,使用关键字fun来声明.(感觉好欢乐的样子···O(∩_∩)O~~) 下面的示例,简单的声明了一个函数: // 这是函数声明 fun this_is_a ...
 - 8.0 TochAction各种用法
			
1.滑动---TouchAction 支持相对坐标.绝对坐标.Element 注意看顶部的导入TouchAction这个库.. #实例化 action = TouchAction(driver) # ...
 - C计算了一下
			
#include <stdio.h> int main(){ int a,b,c,e; a=6 + 5 / 4 - 2; b=2 + 2 * (2 * 2 - 2) % 2 / 3; c= ...
 - LINQ学习笔记——(1)添加扩展方法
			
目的: 对已存在类型的行为进行扩展 注意事项: 扩展方法是一种特殊的静态方法 扩展方法必须在静态类中定义 扩展方法的优先级低于同名的类方法 扩展方法只在特定的命名空间内有效 ...
 - HTML5的 input:file上传类型控制(转载)
			
http://www.haorooms.com/post/input_file_leixing HTML5的 input:file上传类型控制 2014年8月29日 66352次浏览 一.input: ...