2.Maven特点,Maven约定,建立第一个Maven项目
1 Maven是跨平臺的項目管理工具。主要服務于基于java平臺的項目構建,依賴管理和項目信息管理。
| 項目構建 | 清理à編譯à測試à報告à打包à部署 | |
| 理想的項目構建: | 高度自動化 | |
| 跨平臺 | ||
| 可重用的組件 | ||
| 標準化的 | ||
| 依賴管理 | 工程的jar包的管理 | |
| 要進行依賴管理的原因 | 自動下載 | |
| 統一依賴管理 | ||
| 項目信息管理(包括) | 項目名稱描述等 | |
| 開發人員信息 | ||
| 開發者信息等 | ||
2 Maven的特點
| A擁有約定,知道你的代碼在哪里,放到哪里去 |
| B擁有一個生命周期,例如執行mvn install就可以自動執行編譯,測試,打包等構件過程。 |
| C只需要定義一個pom.xml,然后把源碼放到默認的目錄,Maven幫你處理其他事情。 |
3 Maven約定
| A src/main/java –存放項目的.java文件 |
| B src/main/resources –存放項目資源文件,比如spring,hibernate配置文件 |
| C src/test/java –存放所有測試.java文件,比如JUnit測試類 |
| D src/test/resources ---測試資源文件 |
| E target ---項目輸出位置,編譯完成后的東西放到這里面 |
| F 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/xsd/maven-4.0.0.xsd"> | 項目標簽 |
| ?<modelVersion>4.0.0</modelVersion> | 項目版本 |
| ?<groupId>cn.toto.maven</groupId> | 包名 |
| ?<artifactId>Hello</artifactId> | 項目中主類的名 |
| ?<version>0.0.1-SNAPSHOT</version> | 主類的版本 |
| ?<name>Hello</name> | 工程的名字 |
| ? | |
| ????<dependencies> | 項目依賴 |
| ??????<dependency> | 依賴 |
| ??????????<groupId>junit</groupId> | 依賴的東西,表示依賴junit |
| ??????????<artifactId>junit</artifactId> | ? |
| ??????????<version>4.9</version> | ? |
| ??????????<scope>test</scope> | ? |
| ??????</dependency>???? | ? |
| ???</dependencies> | ? |
| </project> | ? |
?
4新建一個Maven項目
在G:\maven下創建一個Hello項目
A??Maven約定的目錄結構,并實際創建:
| Hello --src ------main -------------java -------------resources ------test -------------java -------------resources --target --pom.xml |
B在項目Hello根目錄建立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/xsd/maven-4.0.0.xsd"> ?<modelVersion>4.0.0</modelVersion> ?<groupId>cn.toto.maven</groupId> ?<artifactId>Hello</artifactId> ?<version>0.0.1-SNAPSHOT</version> ?<name>Hello</name> ? ????????<dependencies> ??????????????????<dependency> ???????????????????????????<groupId>junit</groupId> ???????????????????????????<artifactId>junit</artifactId> ???????????????????????????<version>4.9</version> ???????????????????????????<scope>test</scope> ??????????????????</dependency>????????????????? ?????????????????? ????????</dependencies> </project> |
?
C在src/main/java/cn/toto/maven目錄下新建文件Hello.java
| package cn.toto.maven; ? public class Hello { ???????? ????????public String sayHello(String name){ ???????? ??????????????????return "Hello "+name+"!"; ? ????????} ? } |
D在/src/test/java/cn/toto/maven目錄下新建測試文件HelloTest.java
| package cn.toto.maven; ? import org.junit.Test; import static junit.framework.Assert.*; ? public class HelloTest { ? ???@Test ???public void testHello(){ ?????? ??????Hello hello = new Hello(); ??????String results = hello.sayHello("litingwei"); ??????assertEquals("Hello litingwei!",results);???? ? ???} ??? } ? |
E使用maven
| a)?打開cmd命令行,進入Hello項目根目錄執行mvn compile命令,查看根目錄變化
在連網的情況下,如果沒有相應的依賴的jar,它會自動從網上下載
b)?cmd中繼續錄入mvn clean命令,然后再次查看根目錄變化(發現target目錄不見了)
c)cmd中錄入 mvn compile命令,查看根目錄變化 d)cmd中錄入 mvn test命令,查看根目錄變化
e)cmd中錄入 mvn package命令,查看根目錄變化
|
?
總結
以上是生活随笔為你收集整理的2.Maven特点,Maven约定,建立第一个Maven项目的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Maven2的配置文件settings.
- 下一篇: 卖冰激凌的保温箱子有吗?