Maven初探-如何快速入手一个项目
这已是一个工具的时代,而不是一个到处搜集JAR的年代,如果还在为搭建一个项目而到处找依赖,那你就彻底OUT了。下面,跟各位一起重温学习下Maven。
什么是Maven
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。
它提供了三种功能: 1 依赖的管理:仅仅通过jar包的几个属性,就能确定唯一的jar包,在指定的文件pom.xml中,只要写入这些依赖属性,就会自动下载并管理jar包。 2 项目的构建:内置很多的插件与生命周期,支持多种任务,比如校验、编译、测试、打包、部署、发布... 3 项目管理:管理项目相关的其他内容,比如开发者信息,版本等等
Maven之前
做过开发的都知道,在没有使用Maven之前,比如搭建一个SSH框架的项目,我们分别要去 spring、hibernae、struts2官网下载一些JAR包,当然还要下载一些额外的比如日志管理log4j,连接池管理之类的JAR包。
当然某些JAR包有依赖报错的时候,还得手动一个个去添加。
程序构建的话,一般都使用ANT脚本(需要手动编写一系列的任务)进行打包。
最扯淡的就是框架的升级的时候,绝壁是最悲催的,这种重复性的劳动,真有损程序员的饭碗。
构建流程
1 工作空间,即我们的项目工程,这里面可能会放着pom.xml文件,这个pom.xml就是maven的配置文件。
2 本地仓库,本地仓库用于存放jar包,其实Jar包并不是直接放入工作空间的,它是存放在本地仓库,然后在执行发布打包的时候,添加依赖路径。
3 私服(Nexus):私库是使用者自己搭建的maven仓库,用于缓解频繁从外网下载jar包资源的压力,并且使用私库作为缓存层,也相对安全一些。
4 远程仓库: 中央仓库,一般来说私服里面的JAR都来自远程仓库,由于Maven中央仓库源自国外,可能会有下载龟速的情况,建议使用国内的 阿里、163或者开源中国的Maven库。
Maven配置
JDK安装配置(依赖) Maven下载安装(修改仓库源) Eclipse安装Maven插件(修改仓库源)
以上配置,在百度经验均有图文介绍,自行百度。
这里,提供一个Maven源: <mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror>
新建项目
开发工具:Eclipse
一、工程右键 New-Other-Maven-Maven Project
搜索webapp,选择最后一个,点击下一步。
二、填写 groupId 和 artifactId 点击finish。
三、这时候项目是有报错提示的,点击查看是index.jsp有错误。这是因为缺少servlet-api.jar
pom.xml中dependencies中加入以下依赖:
<!-- 版本自定义即可-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
</dependencies>
四、运行项目(jetty下) pom.xml最终配置:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.itstyle.web</groupId>
<artifactId>HelloWord</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>HelloWord Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
</dependencies>
<build>
<finalName>HelloWord</finalName>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>8.1.16.v20140903</version>
</plugin>
</plugins>
</build>
</project>
选择pom.xml右键Run As,以下界面:
选择DeBug,最终启动成功提示:
五、访问Demo
浏览器输入 http://127.0.0.1:8080/
HelloWord项目Demo下载:Maven初探-如何快速入手一个项目HelloWord.zip
- 爬虫采集去重优化浅谈
- Android基础总结(10)——手机多媒体的运用:通知、短信、相机、视频播放
- Android基础总结(9)——网络技术
- 【Python环境】基于 Python 和 Scikit-Learn 的机器学习介绍
- 【Python环境】Python分类现实世界的数据
- Android基础总结(7)——异步消息处理
- No.008 String to Integer (atoi)
- No.007 Reverse Integer
- No.006 ZigZag Conversion
- No.005 Longest Palindromic Substring
- Android基础总结(6)——内容提供器
- No.004 Median of Two Sorted Arrays
- No.001 Two Sum
- No.002 Add Two Numbers
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释