mvn archetype:create :创建Maven项目
mvn compile :编译源代码
mvn test-compile :编译测试代码
mvn test :运行应用程序中的单元测试
mvn site :生成项目相关信息的网站
mvn clean :清除目标目录中的生成结果
mvn package :依据项目生成jar文件
mvn install :在本地Repository中安装jar
mvn eclipse:eclipse:生成Eclipse项目文件
建一个JAVA项目:mvnarchetype:create -DgroupId=com.demo -DartifactId=App
建一个web项目:mvnarchetype:create -DgroupId=com.demo -DartifactId=web-app -DarchetypeArtifactId=maven-archetype-webapp
pom.xml文件基本节点介绍
<project > :文件的根节点.
<modelversion > :pom.xml使用的对象模型版本.
<groupId > :创建项目的组织或团体的唯一Id.
<artifactId > :项目的唯一Id,可视为项目名.
<packaging > :打包物的扩展名,一般有JAR,WAR,EAR等
<version > :产品的版本号.
<name > :项目的显示名,常用于Maven生成的文档。
<url > :组织的站点,常用于Maven生成的文档。
<description > :项目的描述,常用于Maven生成的文档。
在POM 4中,<dependency>中还引入了<scope>,它主要管理依赖的部署。
目前<scope>可以使用5个值:
compile:缺省值,适用于所有阶段,会随着项目一起发布。
provided:类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。
runtime:只在运行时使用,如JDBC驱动,适用运行和测试阶段。
test:只在测试时使用,用于编译和运行测试代码。不会随项目发布。
system:类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。
定义自己的结构
新建一个archetype 项目:
mvnarchetype:create/
-DgroupId=cn.prof/
-DartifactId=prof-archetype/
-DarchetypeArtifactId=maven-archetype-archetype
主要的模板文件:archetype-resources/pom.xml
修改其中内容
修改META-INF/maven/archetype.xml中定义了相关的sources
安装此项目:mvn install
执行下面的命令创建新目录的项目:
mvnarchetype:create -DgroupId=com.mergere.mvnbook /
-DartifactId=proficio-example/
-DarchetypeGroupId=com.xxx.mvn/
-DarchetypeArtifactId=prof-archetype/
-DarchetypeVersion=1.0-SNAPSHOT
目录说明
Maven2 Directory | ||||
目录 | 二级目录 | 三级目录 | 四级目录 | 说明 |
pom.xml |
| Maven2的项目设置文件 | ||
src/ |
| 源码目录 | ||
main/ |
| 项目主体目录根 | ||
java/ |
| 源代码目录 | ||
resources/ |
| 所需资源目录 | ||
filters/ |
| 资源过滤文件目录 | ||
assemby/ |
| Assembly descriptors | ||
config/ |
| 配置文件根目录 | ||
webapp/ |
| web应用目录 | ||
WEB-INF/ | WEB-INF目录 | |||
test/ |
| 项目测试目录根 | ||
java/ |
| 测试代码目录 | ||
resources/ |
| 测试所需资源目录 | ||
filters/ |
| 测试资源过滤文件目录 | ||
site/ |
| 与site 相关的资源目录 | ||
target/ |
| 输出目录根 | ||
classes/ |
|
| 项目主体输出目录 | |
test_classes/ |
| 项目测试输出目录 | ||
site/ |
| 项目site 输出目录
|