上一节讲了maven的安装和配置,这一节我们来学习一下创建一个简单的Maven项目
1. 用Maven 命令创建一个简单的Maven项目
在cmd中运行如下命令:
mvn archetype:generate
-DgroupId=com.mycompany.app
-DartifactId=my-appcom-simple
-Dversion=1.0
-DarchetypeArtifactId=maven-archetype-quickstart
即可在当前目录创建一个简单的maven项目,当然创建的时候会从Maven库中下载相关的依赖,耐心等待即可。
maven的大致结构如下:
my-app|-- pom.xml
`-- src
|-- main
| |-- java
| | `-- com
| | `-- mycompany
| | `-- app
| | `-- App.java
| `-- resources
| `-- META-INF
| `-- application.properties
`-- test
`-- java
`-- com
`-- mycompany
`-- app
`-- AppTest.java
src/main/java : java源文件存放位置
src/main/resource : resource资源,如配置文件等
src/test/java : 测试代码源文件存放位置
项目源代码位置如上白底线;
下载相关包如上,(注:F:\apachemaven305\Repositories\Maven路径为修改%apache-maven-3.0.5%\conf\settings.xml文件<localRepository>F:\apachemaven305\Repositories\Maven</localRepository>,见eclipse maven plugin 插件 安装 和 配置)
2.简单POM.xml
打开项目即可看到pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.app</groupId>
<artifactId>my-appcom-simple</artifactId>
<packaging>jar</packaging>
<version>1.0</version>
<name>my-appcom-simple</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
这段代码中最重要的是包含groupId, artifactId 和 version 的三行。这三个元素定义了一个项目基本的坐标
groupId 定义了项目属于哪个组,这个组往往和项目所在的组织或公司存在关联。譬如在googlecode上建立了一个名为myapp的项目,那么groupId就应该是com.googlecode.myapp; artifactId 定义了当前Maven项目在组织中唯一的ID, 可以理解为项目中的模块, 模块为Maven中最小单位构件 my-appcom-simple;
version 项目的版本
3.运行简单Maven命令
我们已经创建了最简单的Maven项目,下面我们来执行一些简单的构建命令
编译: compile
在cmd中,将目录切换到my-appcom-simple下,执行mvn clean compile
build success之后我们会在my-appcom-simple下看到新增了一个target目录,该目录下存放项目编译后的文件,如.class文件
清理: clean
cmd目录my-appcom-simple下执行命令 mvn clean ,会将target文件删除,即清理项目,该命令可以结合其他命令运行
测试: test
cmd目录my-appcom-simple下执行命令 mvn test,会执行src/test/java 下的Junit 测试代码当然在执行测试之前会自动执行编译命令,运行结果如下图:
打包: package
cmd目录my-appcom-simple下执行命令 mvn package,会将项目打成jar包,并放在target目录中,执行此命令之前会先执行编译和测试命令
安装:install
cmd目录my-appcom-simple下执行命令 mvn install,会将项目jar包安装到本地仓库中,以便其他项目使用,执行此命令之前会先执行编译,测试,打包命令