DOS命令行中用MAVEN构建 Java 和 Java Web 项目

时间:2022-03-12 18:02:29
一、Maven的安装 :
1、将 maven3.0解压到任一目录下,如D:\Program Files
2、配置环境变量:变量名: MAVEN_HOME   变量值:D:\Program Files\apache- maven-3.0.4
然后在Pathz中添加% MAVEN_HOME%\bin(同时Java环境变量配置成功)
3、运行 cmd,输入mvn -version。若显示版本信息,则安装成功。
 
二、在命令行中使用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项目文件
 
三、在命令行中使用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会自动包含依赖项。
 
四、管理依赖

使用
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所需的资源