一、安装配置:
1、安装配置JDK java/javac -version
2、安装配置maven mvn -v
3、下载项目模板 mvn archetype:generate
二、详解pom.xml
4.0.0 com.smart smart-demo 1.0 war smart-demo Maven Webapp http://maven.apache.org junit junit 3.8.1 test smart-demo
从上往下简要说明一下:
-
modelVersion:这个是 POM 的版本号,现在都是 4.0.0 的,必须得有,但不需要修改。
-
groupId、artifactId、version:分别表示 Maven 项目的组织名、构件名、版本号,它们三个合起来就是 Maven **坐标,根据这个坐标可以在 Maven 仓库中对应唯一的 **Maven 构件。
-
packaging:表示该项目的打包方式,war 表示打包为 war 文件,默认为 jar,表示打包为 jar 文件。
-
name、url:表示该项目的名称与 URL 地址,意义不大,可以省略。
-
dependencies:定义该项目的依赖关系,其中每一个 dependency 对应一个 Maven 项目,可见 Maven 坐标再次出现,还多了一个 scope,表示作用域(下面会描述)。
-
build:表示与构建相关的配置,这里的 finalName 表示最终构建后的名称 smart-demo.war,这里的 finalName 还可以使用另一种方式来定义(下面会描述)。
可见,除了项目的基本信息(Maven 坐标、打包方式等)以外,每个 pom.xml 都应该包括:
-
Lifecycle(生命周期),包括 9 个 Phase(阶段):clean ,validate ,compile ,test ,package ,verify ,install ,site ,deploy
-
Plugins(插件)
-
Dependencies(依赖)
Scope(作用域),它表示该构件包在什么时候起作用,包括以下五种: compile:默认作用域,在编译、测试、运行时有效 test:对于测试时有效 runtime:对于测试、运行时有效 provided:对于编译、测试时有效,但在运行时无效 system:与 provided 类似,但依赖于系统资源
三、常用命令
-
mvn clean:清空输出目录(即 target 目录)
-
mvn compile:编译源代码
-
mvn package:生成构件包(一般为 jar 包或 war 包)
-
mvn install:将构件包安装到本地仓库
-
mvn deploy:将构件包部署到远程仓库
- 创建Maven的普通java项目: mvn archetype:generate -DgroupId=packageName -DartifactId=projectName
- 创建Maven的Web项目: mvn archetype:generate -DgroupId=packageName -DartifactId=webappName -DarchetypeArtifactId=maven-archetype-webapp
- 生成eclipse或idea mvn eclipse:eclipse