DOS命令行中用apache-maven-3.3.3 构建Java和Java Web项目

一、Maven的安装 :(http://jingyan.baidu.com/article/4f7d5712aa9c631a201927ea.html)
1、将apache-maven-3.3.3-bin.zip解压到任一目录下,如D:\maven\apache-maven-3.3.3
2、配置环境变量:变量名:MAVEN_HOME   变量值:D:\maven\apache-maven-3.3.3
然后在Pathz中添加%MAVEN_HOME%\bin(同时Java环境变量配置成功)
3、运行cmd,输入mvn -version。若显示版本信息,则安装成功。
 
二、在命令行中使用Maven创建Java项目
1、使用命令行(开始-运行-cmd)进入一个自定义文件夹
2、在命令行中输入:
mvn archetype:generate -DgroupId=com.test -DartifactId=TestProject  maven 3.3.3版本用这个,用下面这个报错!
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)进入一个自定义文件夹
2、在命令行中输入:
mvn archetype:generate -DgroupId=com.testweb -DartifactId=TestWebProject -DarchetypeArtifactId=maven-archetype-webapp
maven 3.3.3版本用上面这个,用下面这个报错!
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所需的资源

建项目的命令为:mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch03 -DartifactId=simple -DpackageName=org.sonatype.mavenbook
报错信息为:
[INFO] Scanning for projects...
[INFO] Building Maven Stub Project (No POM) 1
[INFO] --- maven-archetype-plugin:2.3:create (default-cli) @ standalone-pom ---
[INFO] BUILD FAILURE
[INFO] Total time: 2.728 s
[INFO] Finished at: 2015-04-14T13:36:35+08:00
[INFO] Final Memory: 14M/108M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:2
.3:create (default-cli) on project standalone-pom: Unable to parse configuration
 of mojo org.apache.maven.plugins:maven-archetype-plugin:2.3:create for paramete
r #: Cannot create instance of interface org.apache.maven.artifact.repository.Ar
tifactRepository -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit
ch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please rea
d the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginConfigur
ationException
解决方法:
在stackoverflow找到解决方式如下
mvn archetype:generate -DgroupId=org.sonatype.mavenbook.ch03 -DartifactId=simple -DpackageName=org.sonatype.mavenbook -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

修改start命令为generate

参考网址为 http://stackoverflow.com/questions/29147329/unable-to-create-a-new-maven-hello-world-project

原因分析:create is deprecated in maven 3.0.5 and beyond,在maven3.0.5以上版本舍弃了create,使用generate 生成项目

把建项目的命令为:mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch03 -DartifactId=simple -DpackageName=org.sonatype.mavenbook中

archetype:create命令改成archetype:generate
就可以用了

你可能感兴趣的:(maven安装)