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. Git CMD - show: Show various types of objects

    命令格式 git show [options] <object>…​ 实例 a) 查看某次提交的信息 $ git show <commit> b) 查看远程仓库的信息. git ...

  2. React-Native的基本控件属性方法

    对React-Native的学习,从熟悉基本控件开始. View 属性方法 序号 名称 属性Or方法 类型 说明 1 accessibilityLabel 属性 string   2 accessib ...

  3. MVC 提交表单

    public ActionResult UserLogin() { var UserName = Request["username"]; var Password = Reque ...

  4. ssh git设置命令行

    #列出key ls -al ~/.ssh #生成key ssh-keygen -t rsa -b -C "your_email@example.com" #判断ssh-agent可 ...

  5. Jquery库及其他库之间的$命名冲突解决办法

    首先我们应该知道,在jquery中,$(美元符号)就是jquery的别名,也就是说使用$和使用jquery是一样的,在很多时候我们命名空间时,正是因为这个$而产生的冲突的发生.比如说:$('#xmla ...

  6. ios开发----视图的生命周期

    熟悉web开发的朋友可能对页面page的生命周期有一定的了解和认识,正如web开发中的页面生命周期一样,移动客户端开发也有它自己的生命周期.下文将说明ios开发中视图的生命周期既运行顺序. 在ios视 ...

  7. 【整理】c# 调用windows API(user32.dll)

    User32.dll提供了很多可供调用的接口,大致如下(转自http://blog.csdn.net/zhang399401/article/details/6978803) using System ...

  8. (转)实战Memcached缓存系统(1)Memcached基础及示例程序

    1.Cache定义 (1)狭义概念:用于CPU的相对高速处理与主存(Main Memory)的相对低速处理的之间起到协调功能的硬件设备. (2)广义概念:用于速度相差较大的两种硬件之间,起到协调两者数 ...

  9. [zz]pg_hba.conf 一种安全地配置策略

    PostgreSQL默认只监听本地端口,用netstat -tuln只会看到“tcp 127.0.0.1:5432 LISTEN”.修改postgresql.conf中的listen_address= ...

  10. 找个输入IPoint在某个FeatureClass上距离最近的要素

      /// <summary> /// 得到输入点在输入图层上的最近点 /// </summary> /// <param name="randomPoints ...