参考资料
[1]. Maven的安装与环境配置,
https://www.cnblogs.com/AlanLee/p/6133189.html
[2]. 轻量级Java EE企业应用实战(第四版),李刚
[3]. Available Plugins,http://maven.apache.org/plugins/index.html
[4]. Maven 使用入门,http://blog.csdn.net/quuqu/article/details/52458589
[5]. maven “Generating project in Batch mode”问题的解决,
https://www.cnblogs.com/wardensky/p/4513372.html
[6]. Maven中pom.xml常用元素说明,
https://www.cnblogs.com/shindo/p/5022083.html
[7]. 史上最全的Maven Pom文件标签详解,
http://blog.csdn.net/chen3749102/article/details/52327800
Windos 7
下载软件
下载网址:https://maven.apache.org/download.cgi
进入页面后下载Binary zip archive(二进制zip文件),例如apache-maven-3.5.0-bin.zip。把下载的压缩包复制到指定的目录,如C:\Program Files\apache-maven-3.5.0
目录结构说明
bin:保存Maven的可执行性命令,其中mvn和mvn.bat就是执行Maven工具的命令。
boot:Maven自己的类装载器plexus-classworlds-2.4.jar。
conf:该目录下包含了全局行为定制文件setting.xml,通常建议将该文件复制到~/.m2/目录下(~表示用户目录),这样可以只设置当前用户的Maven行为。
lib: Maven运行时所需的类库。
检查JDK
# 使用cmd命令行
echo %JAVA_HOME%
设置环境变量
应该事先配置好JAVA_HOME
环境变量
M2_HOME
和MAVEN_HOME
环境变量应该指向Maven安装路径
# 设置Maven的home目录
M2_HOME = C:\Program Files\apache-maven-3.5.0
# 设置Maven的home目录
MAVEN_HOME = C:\Program Files\apache-maven-3.5.0
# 设置最小和最大使用内存
MAVEN_OPTS = -Xms512m -Xmx1024m
# 追加到Path变量
PATH = %MAVEN_HOME%\bin;%M2_HOME\bin%;
验证
# 如果能看到Maven和JDK版本号,则说明已正确安装。
mvn -v
# help是Maven的一个插件,system是help插件的goal
mvn help:system
mvn的命令格式
plugin-prefix
为插件前缀,goal
为该插件所包含的指定目标,-D
用于为该目标指定属性,每次运行mvn
命令可通过多个-D
选项来指定属性名和属性值。
mvn <plugin-prefix>:<goal> -D<属性名>=<属性值> ...
还可以使用下面的命令
mvn <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>
创建、构建简单的项目
进入某个文件夹后,使用-DarchetypeCatalog=local
选项需要先下载目录到本地,参考maven “Generating project in Batch mode”问题的解决。然后使用archetype插件的generate生成项目
mvn archetype:generate -DinteractiveMode=false -DgroupId=org.fkjava -DartifactId=mavenQs -Dpackage=org.fkjava.mavenqs -DarchetypeCatalog=local
进入mavenQs目录,即pom.xml文件所在的目录使用compile插件编译项目
mvn compile
执行主方法后可以看到输出Hello World!
mvn exec:java -Dexec.mainClass="org.fkjava.mavenqs.App"
查看它的父pom.xml配置
mvn help:effective-pom
Maven的约定配置
可以对比上面生成的项目来参考下面的路径
- 源代码位于${basedir}/src/main/java
- 资源文件位于${basedir}/src/main/resources
- 测试文件位于${basedir}/src/test
- 编译生成的class文件位于${basedir}/target/classes
- 项目如果产生了一个JAR文件,会将生成的JAR包放在${basedir}/target
依赖管理
创建一个简单的Struts项目
mvn archetype:generate -DinteractiveMode=false -DgroupId=org.crazyit -DartifactId=struts2qs -Dpackage=org.crazyit.struts2qs -DarchetypeArtifactId=maven-archetype-webapp -DarchetypeCatalog=local
在pom.xml文件里面增加依赖
<!-- 配置该项目依赖Struts 2 -->
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<!-- 此处指定依赖的Struts 2版本 -->
<version>2.3.16.3</version>
</dependency>
进入项目所在路径struts2qs,执行打包,因为 <packaging>war</packaging>
为war所以会在target目录下生成war包。在war包里面包含了Struts2框架的各种JAR包
mvn package