在maven项目中解决第三方jar包依赖的问题

在maven项目中,对于那些在maven仓库中不存在的第三方jar,依赖解决通常有如下解决方法:
方法1:直接将jar包拷贝到项目指定目录下,然后在pom文件中指定依赖类型为system,如:
<dependencies>
<dependency>
<groupId>xxx</groupId>
<artifactId>xxx</artifactId>
<version>6.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/libs/xxx-1.0.jar</systemPath>
</dependency>
</dependencies>
请注意:scope为system的依赖,在打包时不会自动打包到最终jar包中的,必须在resources节点中明确指定需要一起package的资源:
<resources>
<resource>
<targetPath>lib/</targetPath>
<directory>lib/</directory>
<includes>
<include>**/my-jar.jar</include>
</includes>
</resource>
</resources>
这个方法在解决单个项目依赖是可以的。
但是,如果项目中存在多个模块,且在多个模块中都需要依赖指定的第三方jar包,那在不同的模块中都进行这样的配置有失妥当,jar包要来回拷贝多次。
方法2:新建一个maven模块项目,专门使用这个项目来解决依赖第三方jar包的问题(前提:需要把依赖的第三方jar包install到本地仓库)
例如:
(1)新建 xxx-3rd模块,用于配置所要依赖的第三方jar包,配置依赖的方式跟处理单个项目依赖方式一样,参考方法1。
(2)在其他需要依赖第三方jar包的模块中引入对xxx-3rd模块的依赖,这样根据maven传递依赖的特性,就可以很好地解决在多个模块中同时依赖第三方jar包的问题。
<dependencies>
<dependency>
<groupId>xxx</groupId>
<artifactId>xxx-3rd</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
【 参考】
http://www.cnblogs.com/richard-jing/archive/2013/01/27/Maven_localjar.html
在maven项目中解决第三方jar包依赖的问题的更多相关文章
- 关于如何正确地在android项目中添加第三方jar包
在android项目中添加第三方jar包虽然不是一个很复杂的问题,但是确实给很多开发者带来了不小的困扰.我自己就曾经碰到过calss not found exception.error inflati ...
- Android Studio 在项目中引用第三方jar包
在Android Studio项目中引用第三方jar包的方法: 步骤: 1.在build.gradle文件中添加如下代码: 备注:要添加在Android作用域下 sourceSets { main { ...
- maven项目引入外部第三方jar包,引入、本地编译、第三方jar一起打到jar中、在linux机器中解决classnotfound(配置classpath),笔记整理。
文章目录 引用的第三方jar的目录结构(示例) 引入第三方jar进行dependency使项目内能import 本地编译 第三方jar一起打到jar中 在linux机器中解决classnotfound ...
- Eclipse项目中引用第三方jar包时将项目打包成jar文件的两种方式
转载自:http://www.cnblogs.com/lanxuezaipiao/p/3291641.html 方案一:用Eclipse自带的Export功能 步骤1:准备主清单文件 “MANIFES ...
- Hadoop MapReduce程序中解决第三方jar包问题方案
hadoop怎样提交多个第三方jar包? 方案1:把所有的第三方jar和自己的class打成一个大的jar包,这种方案显然笨拙,而且更新升级比较繁琐. 方案2: 在你的project里面建立一个lib ...
- Intellij IDEA在maven项目中添加外部Jar包运行
一. 问题概述 我们知道Intellij IDEA是非常好用的Java语言开发的集成环境.提供了非常多实用的功能,包括了智能代码助手.代码自动提示.代码重构.各种插件等,当然也集成了maven 正常情 ...
- java项目怎么打jar包(项目中包含第三方jar包)
1,右键选中项目,点击Export导出,找到java,选择第三个Runnable JAR file, 2,在Launch configuration中,填入程序的入口(有main方法的类), 然后 ...
- Idea中maven项目中导入本地jar包
说一下正确的流程: 1.将jar包导入到本地maven库或者远程nexus仓库,再使用maven引用: 2.导入命令: //通过一下信息引入maven -DgroupId=com.test -Dart ...
- Maven项目中使用本地JAR包
<dependency> <groupId>com.TEST</groupId> <artifactId>hm-test</artifactId& ...
随机推荐
- PHP 回调、匿名函数和闭包
<?php class Product{ public $name; public $price; function __construct($name, $price){ $this-> ...
- GATT两个角色 服务器与客户端
两个设备应用数据的通信是通过协议栈的GATT层实现的. 从GATT角度来看,当两个设备建立连接后,他们处于以下两种角色之一: GATT服务器: 它是为GATT客户端提供数据服务的设备 GATT客户端: ...
- 常用webservice接口
商业和贸易: 1.股票行情数据 WEB 服务(支持香港.深圳.上海基金.债券和股票:支持多股票同时查询) Endpoint: http://webservice.webxml.com.cn/WebSe ...
- hiho_1141
题目 按顺序给出N个数字,求出所有的逆序对个数(逆序对指数字 Ai > Aj且 i < j) 题目链接:hiho_1141 数据规模为 100000,必须使用O(nlogn)的算法 ...
- AlwaysOn与数据库镜像端点问题
今天在搭建一个测试环境的时候发现一个问题,我将AlwaysOn环境中某节点上的某个非可用性组里的数据库想实时备份到另外一台服务器上,因此我找了一个没有加域的工作组的服务器,与AlwaysOn主节点去搭 ...
- Web1.0、Web2.0、Web3.0的主要区别
Web1.0:以静态.单向阅读为主,网站内信息可以直接和其他网站信息进行交互,能通过第三方信息平台同时对多家网站信息进行整合使用. Web2.0:以分享为特征的实时网络,用户在互联网上拥有自己的数据, ...
- [maven] 使用Nexus创建maven私有仓库
1.为什么需要maven私有仓库? 从Maven中央仓库下载所需的jar包,需要外网的支持.如果公司不能上外网的话则不能从中央仓库下载所需jar包,公司网速慢的时候也会影响项目构建的速度.用户可以用n ...
- 回车键转tab键解决方案二
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- Unix 初步(一)
1.Unix文件系统 Unix文件系统有三种文件类型:普通文件.目录文件和设备文件(将外部设备作为一种特殊的文件进行管理,实现输入输出统一而单纯的操作.) 2.Unix的网络功能 TCP/IP 3.r ...
- IOS基础库
iOS 开发者中心 https://developer.apple.com/devcenter/ios/inde ...