【Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. 】
一、安装
要下载Maven可以去:http://maven.apache.org/download.html
下载完以后解压到某个目录,例如:D:/Maven3
然后最后是添加一下环境变量,例如Windows,可以添加Maven_HOME,指定到安装目录,然后在path变量中添加 %Maven_HOME%\bin
这样mvn命令行就可以使用了。
二、配置
默认的配置文件在 %Maven_HOME%\conf 目录下,默认的本地存储路径为:~/.m2/repository 目录下。默认情况下配置文件是一个全局可用的,如果你想针对个人用户单独设置一个配置,可以将 %Maven_HOME%\conf 下的settings.xml文件拷到 ~/.m2 目录下,然后修改对应的配置,例如我想把默认的本地存储路径修改为 D:/M3Repository,就需要在settings.xml文件中添加一条:
<localRepository>D:\M3Repository</localRepository>
更多资料,请参考http://maven.apache.org/。
三、POM 文件
和Ant的build.xml类似,Maven也有一个操作对象文件,也就是上面英文中提到的工程对象模型(project object model)(pom)文件,也即pom.xml;所以运行mvn时需要的信息都在pom.xml中定义好,然后直接运行对应的mvn命令即可。
四、Maven库
Maven最大的方便性之一,我觉得就是Maven库了,Maven库可以分为远程库和本地库,上面实现的localRepository就是一个本地库。每次当添加一个新的依赖包到pom.xml中,maven会先在本地库查找,如果找到,则直接引用本地库中的包,否则则从远程库上下载的lib包都是放到这个本地库里,再添加到引用中。可以在pom里定义多个远程库,后面会介绍的Archiva就是一个用来创建和管理库的开源项目。
下载和配置引用包的整个过程由maven自动完成,不需要个人的干预。要查找某个包,可以登陆:http://mvnrepository.com/。然后查找。
五、纬度
以上已经知道,maven有一个库的概念。于是问题就来了:Maven怎么从库中定位特定的引用包?Maven通过一种特殊的结构来定义每个包,以便能方便的查找到特定的包:
/<groupId>/<artifactId>/<version>/<artifactId>-<version>.<packaging>
具体的这些字段的意义可以访问:http://maven.apache.org/pom.html。
简单来说groupId类似于包名,artifactId类似于类名,version定位到类的某个特定版本,比如说用svn管理的某个版本。packaging表示打包类型。通过这种分层的结构,就可以很方便的定位的特定的库包。所以groupId, artifactId, version和packaging是使用maven中的关键。
六、使用
有了以上的知道,就可以开始使用maven。首先需要提供一个pom文件,可以通过以下命令,让maven自动生成一个:
mvn archetype:generate
然后根据提示一步一步的添加必要的信息,也可以一次性的提供所需的信息:
mvn archetype:create -DgroupId=com.liugang -DartifactId=demo ...
然后在本地就会生成一个名称为demo的文件夹,结构为:
。
demo下还会生成一个对应pom.xml文件。
Maven工程会有一个默认的路径结构:
更多的,可以参考:http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html
当然这些默认配置也可以很方便在pom.xml文件中修改。
OK,这样一个Maven工程就生成了,可以开始写代码了。
七、生命阶段
不同于Ant的task依赖关键,Maven是通过运行一些生命周期过程来完成特定任务,每个生命过程阶段可以称之为阶段(phase),例如常见的阶段有:initialize, compile, test, install, deploy等等。
更详细的介绍,请看:http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
执行每个阶段的时候,都会将该阶段以上的所有阶段运行一遍,例如如果运行initialize阶段,则会先运行validate阶段。
八、运行
可以有三种从maven运行java程序的方式:
-
从命令行运行:mvn exec:java -Dexec.mainClass="com.vineetmanohar.module.Main" -Dexec.args="arg0 arg1 arg2"
-
从阶段(phase)运行:
view plaincopy to clipboardprint?
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.1.1</version>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>java</goal>
</goals>
<configuration>
<mainClass>com.vineetmanohar.module.CodeGenerator</mainClass>
<arguments>
<argument>arg0</argument>
<argument>arg1</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
-
从profile运行:
view plaincopy to clipboardprint?
<profiles>
<profile>
<id>code-generator</id>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.1.1</version>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>java</goal>
</goals>
<configuration>
<mainClass>com.vineetmanohar.module.CodeGenerator</mainClass>
<arguments>
<argument>arg0</argument>
<argument>arg1</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
更多介绍,可以参考:http://www.vineetmanohar.com/2009/11/3-ways-to-run-java-main-from-maven/
关于profile的作用,可以参考:http://maven.apache.org/guides/introduction/introduction-to-profiles.html
- 大小: 4.1 KB
分享到:
相关推荐
### Maven 使用入门详解 #### Maven 介绍与优势 Maven 是一款流行的 Java 项目管理和构建工具,它通过一套标准化的方法来简化项目的构建过程。Maven 的核心价值在于它能够简化项目构建过程,使得开发者能够更加...
从给定的文件信息来看,标题为“maven 使用入门第三章”,这表明文档主要聚焦于Maven这一开源项目管理工具的使用指南,且重点在第三章的内容上。Maven是一个用于Java项目的自动化构建工具,它通过提供统一的项目信息...
Maven3入门
**SpringMVC与Maven入门实例详解** 在Java Web开发中,SpringMVC和Maven是两个非常重要的工具。SpringMVC是Spring框架的一部分,它提供了模型-视图-控制器(MVC)架构,用于构建可维护、高性能的Web应用程序。而...
【 Maven 使用入门详解 】 Maven 是一款强大的 Java 项目管理工具,它可以帮助开发者构建、管理和部署 Java 应用程序。本文旨在为初学者提供一份详细且实用的 Maven 入门教程,让菜鸟级别的读者也能轻松上手。 **...
第3章 Maven使用入门16.3.1 编写POM17.3.2 编写主代码18.3.3 编写测试代码19.3.4 打包和运行20.3.5 使用Archetype生成项目骨架21.3.6 m2eclipse简单使用22.3.7 NetBeans Maven插件简单使用23.3.8 小结
标题"超详细Maven快速入门到精通.txt打包整理.zip"表明这是一个关于Maven的全面教程,涵盖了从基础到高级的各个方面,旨在帮助用户快速掌握Maven的使用。Maven是一个Java项目管理和综合工具,由Apache软件基金会开发...
** Maven JavaWeb 入门详解 ** Maven 是一个强大的项目管理和依赖管理工具,尤其在JavaWeb开发中,它能够帮助开发者有效地构建、管理和部署项目。本教程将引导你了解如何使用Maven来构建JavaWeb应用程序,以"web...
完成上述配置后,我们可以使用Maven的`mvn clean install`命令构建项目,然后将生成的war文件部署到Tomcat服务器上。通过浏览器访问`http://localhost:8080/HelloSpringMVC/hello`,就能看到"Hello, World!"的输出。...
Maven 使用入门 主代码 位置:src/main/java 命令:mvn clean compile 解释:clean告诉maven清理target目录 compile告诉maven 编译项目主代码 测试代码 位置:src/test/java 命令:mvn clean test 打包运行 ...
第3章:Maven使用入门/3.1 编写POM 第3章:Maven使用入门/3.2 编写源代码 第3章:Maven使用入门/3.3 编写测试代码 第3章:Maven使用入门/3.4 打包 第3章:Maven使用入门/3.5 发布 第5章:坐标和依赖/5.2 坐标详解 第...
#### 二、Maven使用入门 **2.1 编写POM文件** - **POM(Project Object Model)**:项目的核心配置文件,定义项目基本信息、依赖等。 - **示例**:创建一个简单的Hello World项目。 - 新建项目文件夹`hello-world...
### Maven基础入门教程知识点整理 #### Maven概述 1. **Maven定义与历史** Maven是一个开源项目管理工具,由Apache软件基金会管理。它用纯Java编写,旨在简化Java项目的构建过程以及管理项目生命周期。Maven通过...
例如,使用 `mvn eclipse:eclipse` 或 `mvn idea:idea` 命令,可以自动生成对应的 IDE 工程配置。 5. 常用的命令 - `mvn clean`:清理项目生成的目标文件。 - `mvn compile`:编译项目源代码。 - `mvn test`:执行...
### Maven 入门使用 #### 一、Maven 安装与配置 Maven 是一款自动化构建工具,它可以帮助开发者简化 Java 项目的构建过程。在使用 Maven 之前,首先需要安装并配置好 Maven 环境。 **1. Maven 安装** - 下载 ...
maven入门到精通 用 Maven 做项目管理 在 Java世界中我们很多的开发人员选择用 Ant来构建项目,一个 build.xml能够完成编译、测试、打包、部署等很多任务,但我们也碰到了很多的问题,如 jar文件管理混乱,各个...
**Maven入门到精通** Maven,一个强大的Java项目管理工具,由Apache软件基金会...阅读提供的文档,如《Maven入门-概念与实例》、《Maven 参考文档》和《Maven2完全使用手册》,将有助于你更全面地掌握Maven的使用。