Maven日常

一、什么是Maven?

如果没有Maven,可能会经历下面的这些情况:

1、如果要使用spring,需要到spring官网下载jar包;如果使用hibernate,需要到hibernate的官网下载jar包;如果使用log4j,需要去到log4j的官网下载jar包....

2、当某些jar包有依赖的时候,还要去下载对应的依赖jar包

3、当jar包依赖有冲突时,不得不一个一个的排查

4、执行构建时,需要使用ant写出很多重复的任务代码

5、当新人加入开发时,需要拷贝大量的jar包,然后重复进行构建

6、当进行测试时,需要一个一个的运行,检查

Maven,提供了三种功能:

1、依赖的管理:仅仅通过jar包的几个属性,就能确定唯一的jar包,在指定的文件pom.xml中,只要写入这些依赖属性,就会自动下载并管理jar包。

2、项目的构建:内置很多的插件与生命周期,支持多种任务,比如校验、编译、测试、打包、部署、发布

3、项目的知识管理:管理项目相关的其他内容,比如开发者信息,版本等等

二、Maven如何管理jar包?

关于jar包的坐标,有过使用经验的会了解,maven是通过groupId,artifactId,以及version确定一个唯一的jar包。

如:常用的Junit的声明如下:

<dependency>

  <groupId>junit</groupId>

  <artifactId>junit</artifactId>

  <version>4.12</version>

  <scope>test</scope>

</dependency>

Maven下载jar包的过程:

在Maven中会涉及到集中仓库:

1工作空间,即我们的项目工程,这里面可能会放着pom.xml文件,这个pom.xml就是maven的配置文件

2本地仓库,本地仓库用于存放jar包,其实jar包并不是直接放入工作空间的,它是存放在本地仓库,然后在执行发布打包的时候,添加依赖路径

3私库,私库是使用者自己搭建的maven仓库,用于缓解频繁从外网下载jar包资源的压力,而且使用私库作为缓存层,也相对安全一些。

4共享仓库,一些书中提到的中央仓库或者一些现场用的镜像网站都属于这种,国内比较著名的oschina以及163都是hi不错的maven仓库

三、Maven的生命周期与阶段

时间: 2024-11-04 16:55:29

Maven日常的相关文章

Maven日常 —— 你应该知道的一二三

以前在日常工作中,使用Maven只是机械的执行Maven clean.Maven install,对其中的原理与过程并无了解,近期阅读了<Maven实战>,对Maven有了更深入的理解. 本篇就针对读书后的理解,对Maven的日常使用相关的知识进行总结与归纳. 如果想要了解更多内容参考:<Maven实战> 1 什么是Maven? 如果没有Maven,你可能不得不经历下面的过程: 1 如果使用了spring,去spring的官网下载jar包:如果使用hibernate,去hibern

日常开发系列——Maven+Spring+Spring MVC+MyBatis+MySQL整合SSM框架

进入公司开发已经3个多月了,项目用的是Maven+Spring+Spring MVC+MyBatis+MySQL,趁这个周末有空,仔细研读一下公司项目的基本框架,学习一下这个环境是怎么搭建起来的,经过自己的研究终于是成功地试验出来.自己亲手做的才算是自己学到的,决定将其记录下来,以便日后查询,源码同时也欢迎大家拍砖. 一.数据库的准备 这次整合试验想着做个简单的,就决定做一个普通的用户登陆,就一张表吧 我新建的数据库名字是test,然后新建了一张表 DROP TABLE IF EXISTS `u

Maven学习笔记(十) : 使用Maven构建Web应用

在实际工作中,我们创建的应用大部分是web应用.在Java的世界中,Web项目的标准打包方式是WAR.这一章,我们介绍怎么使用Maven构建一个Web应用,此外我们还会介绍如何借助jetty-maven-plugin来快速开发和测试Web测试,以及使用Cargo实现Web项目的自动化部署. Web项目的目录结构 基于Java的Web应用,其标准的打包方式是WAR.WAR与JAR类似,不过他可以包含更多的内容,如JSP文件.Servlet.Java类.Web.xml配置文件.依赖JAR包.静态we

SpringMVC + Mybatis + SpringSecurity(权限控制到方法按钮) + Rest(服务) + Webservice(服务) + Quartz(定时调度)+ Lucene(搜索引擎) + HTML5 bootstrap + Maven项目构建绝对开源平台

框架整合: Springmvc + Mybatis + Shiro(权限) + REST(服务) + WebService(服务) + JMS(消息) + Lucene(搜搜引擎) + Quartz(定时调度) + Bootstrap Html5(支持PC.IOS.Android) 需要源码请加Q:3121026417   此处[源码获取地址] 框架简介: 项目Maven构建,真实大型互联网架构,做到高并发,大数据处理,整个项目使用定制化服务思想,提供模块化.服务化.原子化的方案,将功能模块进行

springmvc+spring+mybatis+maven项目集成shiro进行用户权限控制【转】

项目结构: 1.maven项目的pom中引入shiro所需的jar包依赖关系 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 <dependency>     <groupid>javax.servlet</groupid>     javax.servlet-api</artifactid>     <version>3.0.1</version>

Idea SpringMVC+Spring+MyBatis+Maven调整【转】

Idea SpringMVC+Spring+MyBatis+Maven整合 创建项目 File-New Project 选中左侧的Maven,选中右侧上方的Create from archetype,然后选中下方列表中的webapp,然后点击Next 在GroupId和ArtifactId中填入指定内容,点击Next 直接点Next 输入项目名称,Finish Idea会自动开始下载所依赖的包,等待其完成. 项目结构 项目刚建好的时候是没有这些文件的,所以自己手动创建缺少的文件夹(包) 创建完后

使用Eclipse构建Maven的SpringMVC项目 【转】

首先Eclipse需要安装Maven的插件,地址:http://m2eclipse.sonatype.org/sites/m2e. 用MyEclipse安装Maven插件,建出的Maven项目有些问题.一是,发布tomcat的时候resources总是不会被发布到tomcat下:二是,把WEB-INF下的classes改到target下的classes,但是不知道为什么MyEclipse要么仍然在WEB-INF下生成class.要么真不在WEB-INF生成classes了但是发布tomcat的时

使用Eclipse构建Maven的SpringMVC项目【转】

首先Eclipse需要安装Maven的插件,地址:http://m2eclipse.sonatype.org/sites/m2e. 用MyEclipse安装Maven插件,建出的Maven项目有些问题.一是,发布tomcat的时候resources总是不会被发布到tomcat下:二是,把WEB-INF下的classes改到target下的classes,但是不知道为什么MyEclipse要么仍然在WEB-INF下生成class.要么真不在WEB-INF生成classes了但是发布tomcat的时

maven环境快速搭建

----------------准备工作------------- Jdk  1.5以上java开发环境. Eclipse IDE 一个. Maven 3.0.3下载地址: http://maven.apache.org/docs/3.0.3/release-notes.html 第一步:配置maven环境 我的电脑-----属性----高级-----环境变量-----环境变量-----新建 变量名:MAVEN_HOME 变量值:F:\maven\apache-maven-3.0.3 找到pat