Maven最初的目的是在Jakarta Turbine项目中使构建处理简单化。几个项目之间使用到的Ant build文件差异很小,各个JAR都存入CVS。因此希望有一个标准的方法构建各个工程,清晰的定义一个工程的组成,一个容易的方法去发布项目信息并且去提供一种在各个项目之间共享JAR包。
结果出现了一种功能能用于构建和管理任何基于java的工程。Maven小组希望他们已经做到了一些事情,这将有助于Java开发者更容易的完成每天的工作并且有助于理解任何基于java的项目。
Maven的目标是:
-
使构建过程更容易
-
提供统一构建系统
-
提供高质量的项目信息
-
提供开发的最佳实践指南
-
能无缝的加入新的特性
对Maven的错误理解
-
Maven是一个站点和文档制作工具。
-
Maven扩展了Ant,使其能下载到各种依赖包
-
Maven是一系列可重用的Ant脚本
Maven的版本。
Maven现在主要有Maven 1.x和Maven 2.x,其中现在最新版本是Maven 2.02。
Maven 2完成了对Maven 1的重写。重写的首要目的是要提供了强大的Jave构建和包含API的项目,允许Maven被植入任何地方,尤其是高级别的产品如IDEs、质量工具、报告工具等这些。Maven 2构建生命周期的概念正式化,其比Maven更易扩展。
因此现在我们主要研究的就是Maven 2。
Maven的安装
-
Windows 2000/xp下的安装
-
解压缩maven-2.0.2-bin.zip到你希望安装Maven 2.0.2的所在目录。这里假设你选择了C:\ProgramFiles\Apache Software Foundation\maven-2.0.2.
-
将C:\Program Files\Apache Software Foundation\maven-2.0.2\bin目录加入到你的%path%环境变量中。
-
同时,确认JAVA_HOME是否正确设置成功。
-
运行 mvn --version 确认是否安装成功。
显示Maven version: 2.0.2 则表示安装成功。
-
基于Unxi-based的操作系统(Linux,Solaris and Mac OS X)
-
解压缩发布包到你希望安装Maven 2.0.2的所在目录。这里假设你选择了/usr/local/maven-
-
将/usr/local/maven-2.0.2/bin目录加入到你的path环境变量中,例如:PATH=/usr/local/maven-2.0.2y/bin: $PATH。
-
同时,确认JAVA_HOME是否正确设置成功。
-
运行 mvn --version 确认是否安装成功。
显示Maven version: 2.0.2 则表示安装成功。
Maven主要功能列表
Maven是一种对项目的管理工具,它提供了一种方式来管理以下项目中涉及到的工作内容,同时以下也是Maven的主要功能:
-
构建项目(Builds)
-
文档编制(Documentation)
-
报告(Reporting)
-
依赖管理(Dependencies)
-
配置管理(SCMs)
-
发布管理(Releases)
构建项目
-
首先创建一个Maven工程
Maven可用于构建java应用工程和java web应用工程。
-
-
WebApp
mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-webapp
-DarchetypeArtifactId=maven-archetype-webapp
my-webapp
|-- pom.xml
`-- src
`-- main
|-- webapp
| |-- WEB-INF
| | `-- web.xml
| `--index.jsp
`-- resources
其他的目录则需要自己补充。
其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.mycompany.app</groupId>
<artifactId>my-webapp</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>Maven Webapp Archetype</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>my-webapp</finalName>
</build>
</project>
|
-
-
App
mvn archetype:create -DgroupId=com.mycompany.ap -DartifactId=my-app
命令正确执行后,生成如下目录:
my-app
|-- pom.xml
`-- src
|-- main
| `-- java
| `-- com
| `-- mycompany
| `-- app
| `-- App.java
`-- test
`-- java
`-- com
`-- mycompany
`-- app
`-- AppTest.java
其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.mycompany.ap</groupId>
<artifactId>my-app</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>Maven Quick Start Archetype</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
|
-
Maven项目的标准目录介绍
Maven提倡使用一个共同的标准目录结构,使开发人员能在熟悉了一个Maven工程后,对其他的Maven工程也能清晰了解。这样做也省去了很多设置的麻烦。
以下的文档介绍是Maven希望的目录结构,并且也是目录创建工程是采用的目录结构。Maven推荐大家尽可能的遵守这样的目录结构。
src/main/java
|
Application/Library sources
|
src/main/resources
|
Application/Library resources
|
src/main/filters
|
Resource filter files
|
src/main/assembly
|
Assembly descriptors
|
src/main/config
|
Configuration files
|
src/main/webapps
|
Web application sources
|
src/test/java
|
Test sources
|
src/test/resources
|
Test resources
|
src/test/filters
|
Test resource filter files
|
src/site
|
Site
|
LICENSE.txt
|
Project's license
|
README.txt
|
Project's readme
|
在顶级目录上是工程的描述文件pom.xml(如果使用Ant则还包括其他属性文件,maven.xml或build.xml),另外还包括提供给最终用户的文件,如,README.txt, LICENSE.txt等等。
顶级目录还包括两个子目录:src,target。顶级目录下可能出现的其他目录仅仅是CVS或.svn和其他多模块工程的工程目录,最好不要再有其他目录。
Target目录是所有工程编译构建的输出目录。
Src目录包含所有工程的源码文件,配置文件,资源文件等等。它下面的子目录一般包含main(主要的工程源文件),test(测试文件),site(项目站点文件)。
-
项目构建的生
分享到:
相关推荐
maven2学习手册,不懂得救可以查这个帮助文档
maven-definitive-guide_zhmaven-definitive-guide_zhmaven-definitive-guide_zhmaven-definitive-guide_zhmaven-definitive-guide_zhmaven-definitive-guide_zhmaven-definitive-guide_zhmaven-definitive-guide_...
Maven 权威指南 学习手册 参考手册
结合自己的项目经验,整理了对maven的使用事项 本文档主要讲述一下在实际开发中,经常使用的maven功能
maven2学习笔记,里面有很多有用的东西
里面包含:两本maven电子书(《Maven权威指南中文版》和《Maven实战》)和两个文档(《在maven和jetty环境下eclipse的调试》、《基于Maven的Spring_+_Spring_MVC_+_Mybatis的环境搭建》),内容皆精品。
为学习maven的同行一点点帮助。提供对maven使用方案的介绍。
maven搭建项目手册,想学习MAVEN的同学可以看看。
Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期...
Maven学习指南.pdf Maven实战.doc Maven实战.pdf Maven构建并管理Flex项目入门.pdf Maven简单实用教程.docx OTNVD_WebLogicServerDevelopment_CN.pdf 《Maven实战》(国内首本Maven著作)(Maven的安装、配置及使用入门...
自己在学习过程中,编写的maven基础使用手册,从获取maven支持到常用命令的使用,都有详细的实例+图解(免费),基本能做到傻瓜式的照着图片能顺利完成所有实例,如果觉得好,想了解m2e插件的使用和nexus服务器的...
现在网上有很多关于maven2.0的使用说明,但是对于maven1.1的说明却很少。这里有一份关于maven1.1的说明手册,供大家参考学习。
包含:Maven2_基础教程.pdf\《Maven权威指南》-电子书下载(PDF)(中文)\maven2完全使用手册.docx\Maven3实战笔记04Maven的生命周期和插件.doc\Maven实战.pdf\Maven学习指南.pdf
Maven2教程,项目构建使用,一起学习
包含以下资料: Maven权威指南 Maven2_基础教程 maven2完全使用手册 Maven3实战笔记04Maven的生命周期和插件 Maven实战 Maven学习指南
学习maven最权威的指南
详细描述maven在eclipse与MyEclipse中的安装以及使用,欢迎初学者下载学习!
本课程旨在为具有2-3年技术经验的Java开发者提供一个全面而深入的Maven学习体验。《现代Java开发者的Maven实战手册:构建·管理·优化》不仅涵盖了Maven的基础知识和核心概念,还通过一系列精心设计的实战案例,引导...
2.1、创建一个Maven工程 2 2.2、pom文件引入依赖 3 2.3、编写HelloWorld服务 3 2.4、@RestController 4 2.5、@EnableAutoConfiguration 4 2.6 SpringApplication.run(HelloController.class, args); 4 2.7、...
微服务架构 2 微服务架构产生的原因 2 漫谈微服务架构 2 什么是微服务 2 微服务架构特征 3 微服务架构如何拆分 3 微服务架构与SOA架构区别 3 SpringCloud微服务框架 3 为什么选择SpringCloud 4 SpringCloud...