Maven 教程

Posted panie2015

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven 教程相关的知识,希望对你有一定的参考价值。

Maven 教程

序:几次对Maven 的学习,都因为各种原因 而中途切断了,再一次学习的时候,又不得不重新开始,结果发现 又不记得步骤 又找不到对应的文档。别人写的再好,终究比不过自己亲手实践的得出的结果更值得相信!

 

windows 环境上的 安装与实例实践 操作步骤 和 结果记录如下:

 

一、Maven 安装

1、Maven 的下载

下载地址 http://maven.apache.org/download.cgi

选择对应的版本下载,这里 我使用 apache-maven-3.3.3-bin.zip,将其解压放到对应安装路径下即可

配置 对应的环境变量: MAVEN_HOME = 安装路径

Path  中新增 %MAVEN_HOME%/bin

 

2、安装对应的JDK

Maven 3.3 需要 jdk 1.7 及以上版本。

配置 对应的环境变量: JAVA_HOME = 安装路径

Path  中新增 %JAVA_HOME %/bin

 

3、修改配置文件

%MAVEN_HOME%/conf/setting.xml  配置文件中 localRepository 存放了 maven 所依赖的 jar,默认 路径是 ${user.home}/.m2/repository ,即用户家目录下,建议修改到其他位置,如下面,我的配置:

 

 

二、Maven 运行项目

 

1、检测mvn 是否安装成功: mvn -v

 

 

如果你看到类似上面的输出的话,就说明安装成功了。

 

2、建立一个hello 项目

    切换到你希望项目建立的目录: cd F:\\softwareInstallLocation\\eclipse_workspace

    新建项目:mvn archetype:generate -DgroupId=co

m.mycompany.helloworld -DartifactId=helloworld -Dpackage=com.mycompany.helloworl

d -Dversion=1.0-SNAPSHOT

 

说明:第一次 运行 Maven 可能比较耗时间,因为需要 下载 maven 需要的相关 jar 包,第二次运行的时候 就不会需要下载了的。在命令执行的过程中,可能有几处需要输入,直接按回车就好,这样就完成项目的建立。(详情见apache Maven 入门篇() )

 

archetype:generate 目标会列出一系列的 archetype 让你选择。 Archetype 可以理解成项目的模型。 Maven 为我们提供了很多种的项目模型,包括从简单的 Swing 到复杂的 Web 应用。我们选择默认的 maven-archetype-quickstart

 

 

3、在项目路径下,我们可以看到多了一个工程

maven archetype 插件建立了一个 helloworld 目录,这个名字来自 artifactId 。在这个目录下面,有一个 Project Object Model(POM) 文件 pom.xml 。这个文件用于描述项目,配置插件和管理依赖关系。

源代码和资源文件放在 src/main 下面,而测试代码和资源放在 src/test 下面。

 

Maven 已经为我们建立了一个 App.java 文件:

 

 

 

4、构建 和运行程序

命令如下:

进入当期项目:  cd helloworld

构建项目:      mvn package

运行 :  java -cp target/helloworld-1.0-SNAPSHOT.jar com.mycompany.helloworld.App

 

编辑并测试: mvn test

 

说明:

maven helloworld 下面建立了一个新的目录 target/ ,构建打包后的 jar 文件 helloworld-1.0-SNAPSHOT.jar 就存放在这个目录下。编译后的 class 文件放在 target/classes/ 目录下面,测试 class 文件放在 target/test-classes/ 目录下面。

 

 

 

三、Maven 常用命令

 创建一个简单的Java工程:mvn archetype:create -DgroupId=com.mycompany.example -DartifactId=Example

创 建一个javaweb工程:mvn archetype:create -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-webapp -DgroupId=com.mycompany.app -DartifactId=my-webapp

打包:mvn package

编译:mvn compile

编译测试程序:mvn test-compile

清空:mvn clean

运行测试:mvn test

生成站点目录: mvn site

生成站点目录并发布:mvn site-deploy

安装当前工程的输出文件到本地仓库: mvn install

安 装指定文件到本地仓库:mvn install:install-file -DgroupId=<groupId> -DartifactId=<artifactId> -Dversion=1.0.0 -Dpackaging=jar -Dfile=<myfile.jar>

查看实际pom信息: mvn help:effective-pom

分析项目的依赖信息:mvn dependency:analyze mvn dependency:tree

跳过测试运行maven任务:    mvn -Dmaven.test.skip=true XXX

生成eclipse项目文件: mvn eclipse:eclipse

查看帮助信息:mvn help:help mvn help:help -Ddetail=true

查看插件的帮助信息:mvn <plug-in>:help,比如:mvn dependency:help mvn ant:help 等等。

 

四、Maven的基本功能

构建:比如生成classjarwar或者ear文件

生成文档:比如生成javadoc、网站文档

生成报告:比如junit测试报告

生成依赖类库:生成文档,说明项目多其他软件的依赖

有关SCMSCMSoftware Configuration Management),软件配置管理,比如版本控制,比如bug管理等等

发布:生成供发布的分发包,比如生成Struts2的分发包,供提交给用户使用

部署:比如,web应用程序,自动部署到指定的服务器上

 

五、pom.xml文件中的标签元素说明

·project                这是所有pom.xml的顶层
·modelVersion   这个元素指出POM现在使用的对象模型版本,除非开发者强制性的为了
                                 确保稳定性而进行的必要改变、一般都是不发生变化的。
·groupId               这个就是指出被被创建项目的唯一标识、通常使用域名。
·artifactId            这个元素指出了生成项目时的唯一主要的的名字、通常这个名字被作为
                                  Jar的名字。
·packaging          打包类型 (e.g. JAR, WAR, EAR, etc.). 这个不仅仅意味着打包的产品类型
                                  也指出了一个建造过程中的详细生命周期。
·version                这个元素指出在项目被生成的时候的版本,通常你所看到的
                                  SNAPSHOT指的是开发进行的状态
·name                   这个元素指出项目相识的名字、通常被用在Maven生成的文档中
·url                        这个元素指出在哪里可以找到这个项目的站点、通常也被用到Maven
                                  文档中。
·description          这个元素为你的项目提供一个基本的描述,通常被用在Maven生成的文
                                  档中

 

六、资料参考

1apache Maven 入门篇()

2apache Maven 入门篇()

3、见官方网站

The 5 minute test,官方简易入门文档;

Getting Started Tutorial,官方入门文档;

Build Cookbook,官方的cookbook

POM ReferencePOM文件的设置参考

Settings Reference settings文件的设置参考

 

 maven快速搭建步骤——在Eclipse 中运行

 [原创]Mybatis + SpringMVC  + Maven实现分页查询

以上是关于Maven 教程的主要内容,如果未能解决你的问题,请参考以下文章

Maven入门教程

Maven的基础学习教程

Maven的基础学习教程

Maven基础教程

01-Maven教程

Maven教程安装配置创建Maven项目