转载自:http://penuel.iteye.com/blog/1766102

maven对于互联网开发,进行版本管理有着不可或缺的作用; 

而经常开发的程序猿直接联调或者依赖未上线或deploy的版本,需要在本地编译打包通过,如果pom文件依赖了maven库里的,则会出现冲突; 

那么怎样进行本地jar依赖打包编译呢? 

提供3种方式: 

第一种方式:更改pom文件: 

将原来的pom依赖,更改为新的依赖,如下面代码,加systemPath和scope指定你文件的位置

  1. <!-- <dependency>
  2. <groupId>com.xiaonei.xce</groupId>
  3. <artifactId>oce-adapter</artifactId>
  4. <version>1.1-SNAPSHOT</version>
  5. </dependency> -->
  6. <dependency>
  7. <groupId>com.xiaonei.xce</groupId>
  8. <artifactId>oce-adapter</artifactId>
  9. <version>1.1-SNAPSHOT</version>
  10. <systemPath>/home/penuel/renren/other-jar/oce-adapter-1.1-SNAPSHOT.jar
  11. </systemPath>
  12. <scope>system</scope>
  13. </dependency>

注意:这样加依赖有2点需要注意: 

1:如果你本身依赖的oce-adapter依赖了其他jar,而这些间接依赖的jar在你自己项目里还用到了,则需要在pom里加这些间接依赖,因为新改的这种依赖方式,只会添加一个jar进来; 

2:这样添加之后,编译是可以通过的,但是打包还会会从本地maven库里取相应的jar(如果你本地库里没有,则不会打包到工程里),而不是把你配置的jar文件打包进去,所以需要打包完成后将lib下jar替换掉; 



第二种方式:直接替换本地maven库里jar文件: 

用下面命令:

  1. mvn install:install-file
  2. -DgroupId=com.xiaonei.xce-DartifactId=oce-adapter
  3. -Dversion=1.1-SNAPSHOT
  4. -Dfile=/home/penuel/renren/other-jar/oce-adapter-1.1-SNAPSHOT.jar
  5. -Dpackaging=jar \-DgeneratePom=true

这样本地库里就是你要测试的这个jar了,打包编译两不误;记得备份之前的版本,说不定有用。(如果换不了,记得把之前的mavn库中该jar文件夹删掉,则执行命令即可) 



第三种方式:取消pom依赖,直接在buildpath里面添加jar路径;或者在eclipse里面build path的add libraires,然后进行编译,打包也和第一种方式一样; 



最后,如果测试过,包deploy了,记得mvn -U 或者改回pom文件。

MAVEN 编译打包测试 指定本地jar的更多相关文章

  1. 分享知识-快乐自己:IDEA下maven编译打包Java项目成jar包但是resource下配置文件无法编译

    今天在写分布式项目的时候,一直无法编译 resource 下的配置文件:(在target文件夹下的 classes文件查看是否编译) 最后只能通过在POM文件中配置resources配置 得以解决: ...

  2. Maven settings.xml配置(指定本地仓库、阿里云镜像设置)

    转: 详解Maven settings.xml配置(指定本地仓库.阿里云镜像设置) 更新时间:2018年12月18日 11:14:45   作者:AmaniZ   我要评论   一.settings. ...

  3. MAVEN打包同时引入本地jar包

    方法一(pom文件指定jar包目录进行引入) 1.将需要手动引入的包放在项目目录下,如lib目录下: 修改pom文件,引入依赖并且将scope设置为system 2.同时配置maven打包插件 方法二 ...

  4. maven打包时包含本地jar

    项目中需要使用maven的打包工具,生成zip压缩包,使用的插件是assembly-plugin.因为一些特殊的原因,需要使用一些本地的jar进行依赖,加载外部jar后编码过程中没有任何问题,但是打包 ...

  5. Maven 梳理-手动创建Maven项目(非web),使用Maven编译、测试、打包、安装、引用

    创建空目录 F:\jtDevelop\maventest\myapp 创建pom.xml文件 <project xmlns="http://maven.apache.org/POM/4 ...

  6. maven打包war,导入本地jar包

    方法1: 一 . 在项目根目录创建lib文件夹,把jar放入lib文件夹中 二 . 在项目中使用本地jar pom文件配置如下: <properties> <project.buil ...

  7. Maven中如何将源码之外的文件打包及添加本地jar

    <build> <resources> <resource> <directory>src/main/resources</directory&g ...

  8. maven工程打包成runnable的jar包,拷贝资源和依赖jar包

    eclipse下新建maven工程,生成runnable的jar包.之前一直是手动拷贝依赖的jar包和资源文件,烦得要死.上网可劲查了一下.解决方案如下. 在pom的配置文件中做如下配置: <b ...

  9. MAVEN 编译打包时报“.....找不到符号” 的处理方法总结

    这个错都是在MAVEN插件在编译的时候报的,所以问题一定是出在编译的环节上. 这个时候就要好好检查MAVEN的编译配置, 1.看看配置里的编译版本和本机环境上配置的java版本是否一致,有时候报错的类 ...

随机推荐

  1. go学习笔记-Data类型(Arrays, Slices and Maps)

    Data类型(Arrays, Slices and Maps) array array就是数组,定义方式如下: var arr [n]type 在[n]type中,n表示数组的长度,type表示存储元 ...

  2. 【Leetcode】709. To Lower Case

    To Lower Case Description Implement function ToLowerCase() that has a string parameter str, and retu ...

  3. python2.7练习小例子(七)

        7):题目:将一个列表的数据复制到另一个列表中.     程序分析:使用列表[:].     程序源代码: #!/usr/bin/python # -*- coding: UTF-8 -*- ...

  4. Python标准库--inspect

    inspect模块是针对模块,类,方法,功能等对象提供些有用的方法.例如可以帮助我们检查类的内容,检查方法的代码,提取和格式化方法的参数等. import inspect import os clas ...

  5. 用intellij Idea加载eclipse的maven项目全流程

    eclipse的maven项目目录 全流程 加载项目 打开intellij Idea file -> new -> module from existing Sources  选择.pom ...

  6. jenkins安全内容配置策略

    有时我们使用HTML Publisher Plugin插件时,在jenkins点开html report,会发现没有带任何的css或js样式,这是因为Jenkins 1.641 / Jenkins 1 ...

  7. 机器学习/逻辑回归(logistic regression)/--附python代码

    个人分类: 机器学习 本文为吴恩达<机器学习>课程的读书笔记,并用python实现. 前一篇讲了线性回归,这一篇讲逻辑回归,有了上一篇的基础,这一篇的内容会显得比较简单. 逻辑回归(log ...

  8. 第一周 Introduction

    欢迎 欢迎来到这门关于机器学习的免费网络课程,机器学习是近年来最激动人心的技术之一,在这门课中,你不仅可以了解机器学习的原理,更有机会进行实践操作,并且亲自运用所学的算法. 每天你都可能在不知不觉中使 ...

  9. 对 vscode 自动格式化的结果不太满意,我们该如何自己调整直至自己满意为止

    前提概述 采用vue-cli 3.0自动生成vue项目,选了ESlint+Prettier,在写request.js的时候,顺手用vscode右击格式化文件(Alt+Shift+F),一下子报了8个问 ...

  10. python xlrd处理表格常用方法

    1.导入模块import xlrd2.打开Excel文件读取数据data = xlrd.open_workbook('excelFile.xls')3.使用技巧获取一个工作表 table = data ...