一、Maven的安装 :
1、将 maven3.0解压到任一目录下,如D:\Program Files
2、配置环境变量:变量名: MAVEN_HOME 变量值:D:\Program Files\apache- maven-3.0.4
然后在Pathz中添加% MAVEN_HOME%\bin(同时Java环境变量配置成功)
二、在命令行中使用Maven创建Java项目
1、使用 命令行(开始-运行- cmd)进入一个自定义文件夹
2、在 命令行中输入:mvn archetype:create -DgroupId=com.test -DartifactId=TestProject
groupId与artifactId惟一标识一个项目,它们也决定了这个项目在依赖库中的位置,这条 命令执行完毕后,在执行 命令的路径下会出现如下目录结构:
--TestProject
----src
------main
--------java
----------com
------------test
------test
--------java
----------com
------------test
并且在TestProject中生成了一个pom.xml文件,内容是一个项目应该有的最基本的配置,并且 Maven默认添加了Junit的依赖,以此来鼓励单元测试。
Maven的一个优点就是使用标准的目录结构,从上面的目录结构可以看出来,标准的目录结构中有两棵源代码树,一棵是Java应用程序的代码树,一棵是单元测试代码树。
在执行创建项目的 命令时, Maven会下载一些文件,当你开始调用工具时, Maven会根据你使用的插件来更新自身的一些功能。创建完项目后, 在项目的pom.xml文件所在的目录下可以执行各种 Maven命令,常用的有如下几种:
mvn test:运行应用程序中的单元测试
mvn package:依据项目生成jar文件
mvn install:将项目的jar文件添加到库中,以备依赖此项目时使用
mvn site:生成项目相关信息的网站
mvn clean:清除目标目录中的生成结果
mvn eclipse:eclipse:生成Eclipse项目文件
groupId与artifactId惟一标识一个项目,它们也决定了这个项目在依赖库中的位置,这条 命令执行完毕后,在执行 命令的路径下会出现如下目录结构:
--TestProject
----src
------main
--------java
----------com
------------test
------test
--------java
----------com
------------test
并且在TestProject中生成了一个pom.xml文件,内容是一个项目应该有的最基本的配置,并且 Maven默认添加了Junit的依赖,以此来鼓励单元测试。
Maven的一个优点就是使用标准的目录结构,从上面的目录结构可以看出来,标准的目录结构中有两棵源代码树,一棵是Java应用程序的代码树,一棵是单元测试代码树。
在执行创建项目的 命令时, Maven会下载一些文件,当你开始调用工具时, Maven会根据你使用的插件来更新自身的一些功能。创建完项目后, 在项目的pom.xml文件所在的目录下可以执行各种 Maven命令,常用的有如下几种:
mvn test:运行应用程序中的单元测试
mvn package:依据项目生成jar文件
mvn install:将项目的jar文件添加到库中,以备依赖此项目时使用
mvn site:生成项目相关信息的网站
mvn clean:清除目标目录中的生成结果
mvn eclipse:eclipse:生成Eclipse项目文件
三、在命令行中使用Maven创建Java Web项目:
1、使用
命令行(开始-运行-
cmd)进入一个自定义文件夹 www.it165.net
2、在
命令行中输入:mvn archetype:create -DgroupId=com.testweb -DartifactId=TestWebProject -DarchetypeArtifactId=
maven-archetype-webapp
3、生成的项目目录如下:
TestWebProject
----src
------main
--------resources
--------webapp
----------WEB-INF
同样,在TestWebProject目录下也生成了pom.xml文件,并且在WEB-INF目录下生成了web.xml文件;不同的是,现在的项目打包不再是jar包,而是war包,可查看pom.xml文件中的package标签:<packaging>war</packaging>。另外,可以使用finalName标签来改变war包的名称,如:
<build>
<finalName>NewWarName</finalName>
</build>
在使用mvn package 命令打包的时候,不必担心WEB-INF/lib中的依赖包如何得到,依赖属性值被设置成compile的情况下, Maven会自动包含依赖项。
----src
------main
--------resources
--------webapp
----------WEB-INF
同样,在TestWebProject目录下也生成了pom.xml文件,并且在WEB-INF目录下生成了web.xml文件;不同的是,现在的项目打包不再是jar包,而是war包,可查看pom.xml文件中的package标签:<packaging>war</packaging>。另外,可以使用finalName标签来改变war包的名称,如:
<build>
<finalName>NewWarName</finalName>
</build>
在使用mvn package 命令打包的时候,不必担心WEB-INF/lib中的依赖包如何得到,依赖属性值被设置成compile的情况下, Maven会自动包含依赖项。
四、管理依赖
使用 Maven的一大好处就是可以统一管理依赖关系。为项目添加依赖关系也非常的简单,只需要添加一个dependency标签即可,如:
<dependency>
<groupId>quartz</groupId>
<artifactId>quartz</artifactId>
使用 Maven的一大好处就是可以统一管理依赖关系。为项目添加依赖关系也非常的简单,只需要添加一个dependency标签即可,如:
<dependency>
<groupId>quartz</groupId>
<artifactId>quartz</artifactId>
<version>1.5.1</version>
<scope>compile</scope>
</dependency>
其中,groupId、artifactId和version指定了特定的依赖包及其版本;scope的取值有如下几种:
compile:默认值。表明是所有任务所需的资源
test:运行所有的测试用例时所需资源
runtime:表明是运行时所需资源
provided:JDK部分或应用服务器的classpath所需的资源
<scope>compile</scope>
</dependency>
其中,groupId、artifactId和version指定了特定的依赖包及其版本;scope的取值有如下几种:
compile:默认值。表明是所有任务所需的资源
test:运行所有的测试用例时所需资源
runtime:表明是运行时所需资源
provided:JDK部分或应用服务器的classpath所需的资源