上一節(jié)講了maven的安裝和配置,這一節(jié)我們來學(xué)習(xí)一下創(chuàng)建一個(gè)簡(jiǎn)單的Maven項(xiàng)目
1. 用Maven 命令創(chuàng)建一個(gè)簡(jiǎn)單的Maven項(xiàng)目
在cmd中運(yùn)行如下命令:
- mvn archetype:generate
- -DgroupId=com.mycompany.app
- -DartifactId=my-app-simple
- -Dversion=1.0
- -DarchetypeArtifactId=maven-archetype-quickstart
即可在當(dāng)前目錄創(chuàng)建一個(gè)簡(jiǎn)單的maven項(xiàng)目,當(dāng)然創(chuàng)建的時(shí)候會(huì)從Maven庫中下載相關(guān)的依賴,耐心等待即可。
maven的大致結(jié)構(gòu)如下:
- 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 : 測(cè)試代碼源文件存放位置
2.簡(jiǎn)單POM.xml
打開項(xiàng)目即可看到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-app-simple</artifactId>
- <packaging>jar</packaging>
- <version>1.0</version>
- <name>my-app-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 的三行。這三個(gè)元素定義了一個(gè)項(xiàng)目基本的坐標(biāo)
groupId 定義了項(xiàng)目屬于哪個(gè)組,這個(gè)組往往和項(xiàng)目所在的組織或公司存在關(guān)聯(lián)。譬如在googlecode上建立了一個(gè)名為myapp的項(xiàng)目,那么groupId就應(yīng)該是com.googlecode.myapp
artifactId 定義了當(dāng)前Maven項(xiàng)目在組織中唯一的ID, 可以理解為項(xiàng)目中的模塊, 模塊為Maven中最小單位構(gòu)件
version 項(xiàng)目的版本
3.運(yùn)行簡(jiǎn)單Maven命令
我們已經(jīng)創(chuàng)建了最簡(jiǎn)單的Maven項(xiàng)目,下面我們來執(zhí)行一些簡(jiǎn)單的構(gòu)建命令
編譯: compile
在cmd中,將目錄切換到my-app-simple下,執(zhí)行mvn clean compile
build success之后我們會(huì)在my-app-simple下看到新增了一個(gè)target目錄,該目錄下存放項(xiàng)目編譯后的文件,如.class文件
清理: clean
cmd目錄my-app-simple下執(zhí)行命令 mvn clean
會(huì)將target文件刪除,即清理項(xiàng)目,該命令可以結(jié)合其他命令運(yùn)行
測(cè)試: test
cmd目錄my-app-simple下執(zhí)行命令 mvn test
會(huì)執(zhí)行src/test/java 下的Junit 測(cè)試代碼
當(dāng)然在執(zhí)行測(cè)試之前會(huì)自動(dòng)執(zhí)行編譯命令,運(yùn)行結(jié)果如下圖:

打包: package
cmd目錄my-app-simple下執(zhí)行命令 mvn package
會(huì)將項(xiàng)目打成jar包,并放在target目錄中
執(zhí)行此命令之前會(huì)先執(zhí)行編譯和測(cè)試命令
安裝:install
cmd目錄my-app-simple下執(zhí)行命令 mvn install
會(huì)將項(xiàng)目jar包安裝到本地倉庫中,以便其他項(xiàng)目使用
執(zhí)行此命令之前會(huì)先執(zhí)行編譯,測(cè)試,打包命令