maven的东西使用了一段时间,但是每次使用都多少有点含糊,所以总结一下。

  目前主要使用是在jar包的控制上

  原理:

    在本地,指定一个文件夹,便是maven的仓库,maven会从远程的中央仓库中下载你需要的jar资源到你本地,然后通过maven关联,讲jar包依赖到你的项目中,避免了你需要将jar包拷贝到lib中,并通过classpath引入这些jar包的工作。

  使用优点:

  1. 方便添加项目依赖的jar包,比如,你需要使用spring-mvc,那么,你必须引入spring-mvc及其相关的所有jar包到项目中,有时不同版本对依赖的jar包的版本是不同的,所以需要查看jar包的说明去引入对应版本号的jar文件。这看起来似乎太痛苦了。而maven在你引入使用的jar包时,便会为你引入它所依赖的所有jar包,连版本库都不用你考虑了。
  2. 方便控制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包依赖的更多相关文章

  1. maven 如何给web项目添加jar包依赖

      maven 如何给web项目添加jar包依赖 CreateTime--2018年4月19日19:06:21 Author:Marydon 开发工具:eclipse 1.打开pom.xml文件--& ...

  2. Maven管理jar包依赖常出现的不能实例化类的问题

    you'ji 在maven管理jar包依赖时,存在一种常见的问题. pom.xml文件配置没问题,通过eclipse里中的maven dependencies查看,也确实有这个jar 包,或者这个类. ...

  3. Failed to read artifact descriptor for xxx:jar 的Maven项目jar包依赖配置的问题解决

    在开发的过程中,尤其是新手,我们经常遇到Maven下载依赖jar包的问题,也就是遇到“Failed to read artifact descriptor for xxx:jar”的错误. 对于这种非 ...

  4. 【maven】排除maven中jar包依赖的解决过程 例子:spring cloud启动zipkin,报错maven依赖jar包冲突 Class path contains multiple SLF4J bindings.

    一直对于maven中解决jar包依赖问题的解决方法纠结不清: 下面这个例子可以说明一个很简单的解决方法: 项目启动报错: Connected to the target VM, address: '1 ...

  5. Myeclipse如何使用Maven添加jar包

    很多新手都不知道如何在maven项目里添加jar包. 以前我还没接触maven的时候下载过一个demo,是maven项目. 我居然是照着他的pom.xml文件一个一个的写!!! 很多人认为理所当然的东 ...

  6. 自动配置pom文件,构建maven项目jar包依赖关系,找到jar包运用到jmeter

    首先说下pom文件特别方便的优点: 什么是pom文件? POM(Project Object Model) 是Maven的基础. 它是一个XML文件,包含了Maven用来build项目所需要的项目配置 ...

  7. STS(Spring Tool Suite)使用maven添加jar包

    打开:http://mvnrepository.com/ 搜索:hibernate 或者:http://search.maven.org 搜索:hibernate-core 两种方式都可以添加jar包 ...

  8. idea maven添加jar包

    在“项目结构“里设置 选择libaray,添加jar包

  9. maven 本地jar包依赖生成

    转载自:http://www.cnblogs.com/wuyouwulv/p/maven_configure_oracle_jdbc.html 由于Oracle授权问题,Maven不提供Oracle ...

随机推荐

  1. winform 渐变(非API)

    public FrmMain() { InitializeComponent(); //窗体显示特效 Opacity = 0.0; //窗体透明度为0 fadeTimer.Start(); //计时开 ...

  2. ASP.NET网站前端页面的复制

    网络普及的时代,遇到问题的首要解决方案并不是问人,而是找度娘.当我们找一些技术性的问题时,会发现很多解决方案在博客里,看看博主发表的博客总是惊叹不已,想要自己也有这么一个好习惯,把学到的东西以自己的方 ...

  3. Servlet之过滤器

    Servlet的介绍: Servlet API 中定义了三个接口类来开供开发人员编写 Filter 程序:Filter, FilterChain, FilterConfig Filter 程序是一个实 ...

  4. WCF开发教程资源收集

    WCF开发教程资源收集 1.蒋金楠,网名Artech的博客 [原创]我的WCF之旅(1):创建一个简单的WCF程序[原创]我的WCF之旅(2):Endpoint Overview[原创]我的WCF之旅 ...

  5. npm install --save 与 npm install --save-dev 的区别

    以npm安装msbuild为例: npm install msbuild: 会把msbuild包安装到node_modules目录中 不会修改package.json 之后运行npm install命 ...

  6. 详解在Visual Studio中使用git版本系统

    转自:http://www.uml.org.cn/pzgl/201206211.asp

  7. Session 入库

    session入库 session机制中的数据分部分存储,1部分在客户端的cookie中,2部分在服务器端的session文件中. 务器端的session文件中存储的是$_SESSION变量中的数据. ...

  8. Java中浮点数的基础知识

    偶然查看Math.round的JDK public static int round(float a) { if (a != 0x1.fffffep-2f) // greatest float val ...

  9. 【转】TCP的SEQ和ACK的生成

    TCP序列号和确认号详解 完整的PDF下载: 在网络分析中,读懂TCP序列号和确认号在的变化趋势,可以帮助我们学习TCP协议以及排查通讯故障,如通过查看序列号和确认号可以确定数据传输是否乱序.但我在查 ...

  10. JavaScript异步获取数据解析

    <script type="text/javascript">    var xhr=false;    function createXhr() {    var x ...