Maven是一個項目構建管理工具,使用相應的命令 就能夠快速完成項目的編譯 打包。java
一、下載maven,直接解壓目錄就能夠了,配置maven的環境變量就能夠在window下的任何文件夾下以命令的方式執行maven操做,而沒必要在maven的bin目錄下輸入命令。(配置 M2_HOME環境變量),maven必須在jdk環境下運行apache
二、maven項目包含一個主要的pom.xml文件,裏面是整個項目的相關依賴配置,用戶管理jar包等相關項目結構。app
<?xml version="1.0" encoding="UTF-8"?> <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> <!--組id,表明這個項目所在的組,通常一家公司對應一個組--> <groupId>com.alivn.myapp</groupId> <!--artifactId在組中的惟一標誌--> <artifactId>com.myapp.helloWorld</artifactId> <!--版本號 隨着開發的完善去升版本--> <version>1.0-SNAPSHOT</version> <!-- 名字 自定義 能夠省略--> <name>my first one maven</name> </project>
三、maven項目的主代碼通常存放src/main/java,主資源文件src/main/resources ,測試文件路徑:src/test/java 測試資源文件src/test/resources maven
四、在主代碼文件夾中放入開發代碼,當開發完成後依次對項目進行 編譯 打包。函數
具體命令:在項目的根路徑下 :工具
(清理target目錄) mvn clean 測試
(編譯,會編譯到target目錄下) mvn compile ui
((處理測試代碼))mvn clean testspa
(打包 打成jar或war供其餘程序使用 也存放在target目錄下) mvn package插件
(安裝 到本地倉庫,供其它maven項目使用) mvn install.
這幾個過程是順序執行的(正常的流程還會有資源文件的處理等),若是直接執行 mvn install 會先執行前面四個個步驟,最後執行mvn install.
注:若是使用junit測試,須要引入依賴:
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> </dependency>
若是程序中 包含主程序入口,咱們能夠引用一個插件 ,而後mvn install, 而後會生成兩個jar 包,一個包含主程序入口的,一個是源jar包。
而後咱們使用java命令:java –jar target/{jarName}.jar 會直接執行主函數 。
在pom中引入:
<build> <plugins> <!-- shade插件打包成jar包 包含main --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.3</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>com.myapp.helloWorld.Person</mainClass> </transformer> </transformers> </configuration> </execution> </executions> </plugin> </plugins> </build>
掌握maven的clean compile package install 等命令的使用場景和做用。