maven添加jar包依赖
maven的东西使用了一段时间,但是每次使用都多少有点含糊,所以总结一下。
目前主要使用是在jar包的控制上
原理:
在本地,指定一个文件夹,便是maven的仓库,maven会从远程的中央仓库中下载你需要的jar资源到你本地,然后通过maven关联,讲jar包依赖到你的项目中,避免了你需要将jar包拷贝到lib中,并通过classpath引入这些jar包的工作。
使用优点:
- 方便添加项目依赖的jar包,比如,你需要使用spring-mvc,那么,你必须引入spring-mvc及其相关的所有jar包到项目中,有时不同版本对依赖的jar包的版本是不同的,所以需要查看jar包的说明去引入对应版本号的jar文件。这看起来似乎太痛苦了。而maven在你引入使用的jar包时,便会为你引入它所依赖的所有jar包,连版本库都不用你考虑了。
- 方便控制jar包的版本,及各个jar包的依赖。比如,你使用spring框架时,开发过程中,可能发现各个版本的不同,而需要修改版本时,拷贝jar包到lib下的方法费时费力,而在maven的pom文件中直接修改版本号 ,maven便会帮你修改项目引用的jar包依赖。
就这两点理由足够你选择maven进行jar包的版本管理了。当然,maven还可以将你的项目工程编译成jar包放入到版本库中,供别的项目依赖。其他功能,我还没有使用到,以后用到再进行添加。
安装使用:
下载maven,存放在固定文件夹下,并配置环境变量:%M2_HOME%\bin
cmd进入控制台,mvn -version,查看是否配置成功。
默认情况下,maven的配置信息有两种级别:用户级别、全局级别
1.用户级别:只为某一个用户而设置,通常在${user.home}/.m2/settings.xml中进行设置。maven安装后,该文件夹中并没有这个xml文件,maven只是使用了默认配置,可以去maven的apache-maven-3.2.3\conf文件夹下,拷贝settings.xml文件到上述文件夹中,并修改相应的配置信息。
2.全局级别:用来为该机器上的所有用户进行设置,假设他们都使用同样的maven安装程序。通常在${maven.home}/conf/settings.xml中进行设置。
这里需要了解maven何时并且如何使用这两个配置文件进行工作:???????????????????????????????????????
配置内容:目前只需要配置本地仓库。
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!--配置本地仓库所在目录-->
<localRepository>D:\install\other\apache-maven-3.2.3\repository</localRepository>
</settings>
这样就把远程仓库放在了D:\install\other\apache-maven-3.2.3\repository下了。
myeclipse结合maven使用:
myeclipse需要指定maven在你本机上的安装目录、你需要使用的配置文件的绝对路径。进入windows->preference,

在installations选项卡下,选择maven的安装路径。

在user settings选项卡下,选择配置文件的路径,你可以指定用户级配置文件,也可以指定全局级配置文件。

myeclipse创建maven项目,添加项目依赖:
最新的myeclipse多少有些bug,比如2013里debug时变量值、表达式值无法进行查看,等等问题的存在,工作过程中,我选择myeclipse10进行开发,使用myeclipse创建web project并添加maven依赖,这样创建的项目便可以使用maven进行jar包的版本控制了。如下图所示:

然后根据项目名称及公司名称,命名版本库及版本号。

这样就新建了maven项目。
项目结构如下:

在pom.xml中添加依赖的jar即可。
添加时,如果发现本地仓库没有相应jar包:
一、rebuild index本地仓库,这样会迫使maven从中央仓库中把jar包下载到本地仓库中
使用myeclipse的maven repository来reindex仓库

在本地仓库上右键:rebuild index
二、在preference中的maven选项卡下,user settings中,update usersettings选项,这样可以迫使maven去中央仓库下载相应的jar文件到本地
从外部引入的项目:
从外部引入的项目,会发现本地仓库有些jar包并不存在。此时在项目上,右键,



可能会发现此时并未将jar包添加到本地仓库中,但是你到jar包在本地仓库中的相应位置上可以看到,pom文件和sha1文件,说明已经讲jar包 的描述放到该仓库中,此时需要在maven repository窗口中,rebuild index,还可以在windows->preference下右键然后在maven的选项卡下update usersettings,也会从远程中央仓库中下载jar包到本地。这样就可以构建项目了。
maven添加jar包依赖的更多相关文章
- maven 如何给web项目添加jar包依赖
maven 如何给web项目添加jar包依赖 CreateTime--2018年4月19日19:06:21 Author:Marydon 开发工具:eclipse 1.打开pom.xml文件--& ...
- Maven管理jar包依赖常出现的不能实例化类的问题
you'ji 在maven管理jar包依赖时,存在一种常见的问题. pom.xml文件配置没问题,通过eclipse里中的maven dependencies查看,也确实有这个jar 包,或者这个类. ...
- Failed to read artifact descriptor for xxx:jar 的Maven项目jar包依赖配置的问题解决
在开发的过程中,尤其是新手,我们经常遇到Maven下载依赖jar包的问题,也就是遇到“Failed to read artifact descriptor for xxx:jar”的错误. 对于这种非 ...
- 【maven】排除maven中jar包依赖的解决过程 例子:spring cloud启动zipkin,报错maven依赖jar包冲突 Class path contains multiple SLF4J bindings.
一直对于maven中解决jar包依赖问题的解决方法纠结不清: 下面这个例子可以说明一个很简单的解决方法: 项目启动报错: Connected to the target VM, address: '1 ...
- Myeclipse如何使用Maven添加jar包
很多新手都不知道如何在maven项目里添加jar包. 以前我还没接触maven的时候下载过一个demo,是maven项目. 我居然是照着他的pom.xml文件一个一个的写!!! 很多人认为理所当然的东 ...
- 自动配置pom文件,构建maven项目jar包依赖关系,找到jar包运用到jmeter
首先说下pom文件特别方便的优点: 什么是pom文件? POM(Project Object Model) 是Maven的基础. 它是一个XML文件,包含了Maven用来build项目所需要的项目配置 ...
- STS(Spring Tool Suite)使用maven添加jar包
打开:http://mvnrepository.com/ 搜索:hibernate 或者:http://search.maven.org 搜索:hibernate-core 两种方式都可以添加jar包 ...
- idea maven添加jar包
在“项目结构“里设置 选择libaray,添加jar包
- maven 本地jar包依赖生成
转载自:http://www.cnblogs.com/wuyouwulv/p/maven_configure_oracle_jdbc.html 由于Oracle授权问题,Maven不提供Oracle ...
随机推荐
- Android之手机屏幕的获取
屏幕区域的获取: activity.getWindowManager().getDefaultDisplay(); 应用区域的获取: Rect outRect = new Rect(); activi ...
- Cocos2d-x中触摸事件
理解一个触摸事件可以从时间和空间两方面考虑. 1.触摸事件的时间方面 触摸事件的在时间方面,如下图所示,可以有不同的“按下”.“移动”和“抬起”等阶段,表示触摸是否刚刚开始.是否正在移动或处于静止状态 ...
- iMAC——查看开机关机时间
每次下班都记不好早上几点打的卡,你是不是也经常有这样的情况: 那就用以下的代码考到Mac电脑的终端中,回车: mac终端输入上面命令行 查看开机时间: last | grep reboot 查看关机 ...
- 双网卡route配置
目前仅适用于windows: 192.168.*.*网段适用于上外网的 10网段适用于内网 route add 10.0.0.0 mask 255.0.0.0 10.34.6.1route add 1 ...
- Js跳出循环
break和 continue break 中断整个循环 continue 跳出当前循环,进入下一次循环 break示例: 例1: 例2: Continue:跳出当前循环,进入下一次循环 Break与 ...
- const define 定义常量的区别
1.用const定义常量在编译的时候,提供了类型安全检查,而define 只是简单地进行字符串的替换 2.const定义的常量,会分配相应的内存空间.而define没有分配空间,只是在程序中与处理的时 ...
- Paxos算法
Paxos算法是分布式系统中常用的一个保持系统一致性的算法,由美国计算机科学家Leslie B. Lamport提出.原文链接. 今天特意学习了一下Paxos的原理,为防忘记,记录下来.(看了的东西没 ...
- MDM基于IOS设备管控功能的所有命令介绍
前面我们介绍了IOS上MDM几个简单的控制命令的发送和返回数据的解析处理,下面我们介绍一下MDM涉及到的命令的操作介绍: 一.Control Commands(控制类命令) 1.Device Lock ...
- Java多线程(一) 多线程的基本使用
在总结JDBC数据库连接池的时候,发现Java多线程这块掌握得不是很好,因此回头看了下多线程的内容.做一下多线程模块的学习和总结,稳固一下多线程这块的基础.关于多线程的一些理论知识,这里不想啰嗦太多, ...
- 声明(创建) JavaScript 变量
在 JavaScript 中创建变量通常称为"声明"变量. 我们使用 var 关键词来声明变量: var carname; 变量声明之后,该变量是空的(它没有值). 如需向变量赋值 ...