恢復內容開始 這是我第一次寫博客,這個想法源於我的師傅對我的建議,一是與大家一起進步,二是讓自己養成總結的好習慣。 “如果你步入的maven的世界,你便打開了Java的另一扇大門”。 這篇文章是面向沒有接觸過maven的同學們,對於maven玩的很溜的,請指出該文章的不足。 1.什麼是maven? ...
---恢復內容開始---
這是我第一次寫博客,這個想法源於我的師傅對我的建議,一是與大家一起進步,二是讓自己養成總結的好習慣。
“如果你步入的maven的世界,你便打開了Java的另一扇大門”。
這篇文章是面向沒有接觸過maven的同學們,對於maven玩的很溜的,請指出該文章的不足。
1.什麼是maven? |
2.為什麼使用maven? |
3.maven的安裝。 |
4.maven初體驗。 |
5.maven的基本指令。 |
1.什麼是maven?
maven就是一種項目對象模型(POM),可以通過一小段描述信息來管理項目的構建。說白了就是通過一個配置文件管理整個項目的build。它是一個主要服務於Java平臺,出自Apach組織的開源的牛逼項目。主要功能是項目構建、依賴管理、項目信息管理。具體關於maven的非技術歷史,這裡不多說,自行百度。
2.為什麼使用maven?
因為maven是一款很強大的構建工具,能夠幫我們自動化構建過程,從清理、編譯、測試、生成報告、打包、部署等等,如果我們純手動,會很浪費時間的,面向對象編程的優點在於模塊化,提高復用性。那麼maven就是這一系列操作的封裝(我是這樣認為的,如有不恰當之處,請指出),如果需要做這些操作,我們只需一個指令,maven就可以替我們完成這一系列操作,從而節省大量無意義的、機械的動作,提高編程效率,而不再是我們進行重覆的設計,重覆的編碼,重覆的文檔 ......(此處省略n+1個文字,沒錯,maven就是這麼強大)
3.maven的安裝。
下載完成後,點擊解壓到指定的文件夾。解壓完成後還沒完...還要進行環境變數的配置。
將maven安裝的目錄路徑配置到環境變數,並給變數起名字(這是為了在以後升級時,僅將此處路徑更改即可,而不必改動PATH路徑的變數,我們要充分利用電腦內變數這一機制,這樣可以大量減少我們的操作)。
將變數名配置到PATH的值內,這是為了無論我們在哪個位置都可以使用maven指令。接下來我們隨手打開cmd,輸入mvn -v,這是查看maven的版本,同時也是看一下我們環境變數是否配置成功。如果提示not found,就表示沒有成功,自己再好好琢磨一下吧。
如果配置成功,我們再dos視窗輸入mvn help:system,這是列印所有java系統屬性和環境變數,在這裡是為了讓maven第一次運行一個任務,將maven在你的電腦上能夠有一個完整的結構。運行完之後,你的個人賬戶的所有應用配置文件夾(也就是C:\Users\%uname%\)下,會出現~.m2文件夾,這個就是maven在你電腦上,屬於你的maven配置的文件夾。
接下來我們來到你的%MAVEN_HOME%\config目錄里,你會看到這些:
其中,settings.xml將會時我們日後經常訪問的文件,它時maven的配置文件,maven的設置全部來自該配置文件的參數配置。我們剛剛接觸maven,我們只需對它來個初步設置,具體的其他設置我們日後再議。接下來我們將它複製到C:\Users\%uname%\.m2下,然後打開它,你會看到200~300行的代碼,我們初學者只需添加一行代碼即可:
上面已註釋的代碼說的很清楚,這個是maven在你電腦的本地倉庫(就是項目所需的依賴在本地電腦的儲存位置)的配置位置,預設在與該配置文件所在文件夾內的\repository文件夾內。而我不喜歡如此大的文件放在小小的C盤裡,所以放到了D盤。到這裡,我們maven的安裝就完成了。
4.maven初體驗
我們使用Myeclipse創建一個maven項目,(Myeclipse已集成maven),只需在配置裡面把maven設置一下即可
將它設置為自己安裝的maven,儘量不要使用自帶maven(集成不代表自帶)。
然後File > New > Other > Maven > Maven Object ,先不要點擊Create a simple project,那個以後再議,Next,然後選擇maven-archetype-quickstart,在這裡可以講Archetype理解成Maven項目的模板,例如maven-archetype-quickstart就是最簡單的Maven項目模板,只需提供基本的元素,如groupId,artifactId,version等,它就能生成項目的基本結構及POM文件。接下來的groupId,artifactId,version是maven的基本元素。
groupId:指的是你屬於哪些組織,在這裡你可以寫你的名字+功能變數名稱歸屬的倒置。
artifactId:指的是該項目的id。
version:該項目的版本。
然後就可以編輯pom.xml的代碼了,如下:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4 <modelVersion>4.0.0</modelVersion> 5 6 <!-- 本項目基本坐標 --> 7 <groupId>cn.zuoyu.fistmaven</groupId> 8 <artifactId>hello-maven</artifactId> 9 <version>0.0.1-SNAPSHOT</version> 10 <packaging>jar</packaging> 11 12 <name>hello-maven</name> 13 <url>http://maven.apache.org</url> 14 15 <properties> 16 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 17 </properties> 18 19 <build> 20 <plugins> 21 22 <!-- 控制java版本 --> 23 <plugin> 24 <groupId>org.apache.maven.plugins</groupId> 25 <artifactId>maven-compiler-plugin</artifactId> 26 <version>2.3.2</version> 27 <configuration> 28 <source>1.8</source> 29 <target>1.8</target> 30 </configuration> 31 </plugin> 32 33 </plugins> 34 </build> 35 36 <dependencies> 37 <dependency> 38 <groupId>junit</groupId> 39 <artifactId>junit</artifactId> 40 <version>4.7</version> 41 <scope>test</scope> 42 </dependency> 43 </dependencies> 44 </project>
然後編寫一個實體類和一個測試類,編寫完之後,我們在該項目的目錄下打開dos視窗,輸入mvn test,可見:
這是maven的測試,成功!
接下來用maven製作jar包,當然前提是給項目加一個main方法,然後再pom.xml下加入一下代碼,路徑是main方法的路徑,不要弄錯了:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>1.6</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>cn.zuoyu.fistmaven.hello_maven.App</mainClass> </transformer> </transformers> </configuration> </execution> </executions> </plugin>
這個是maven里的maven-shade-plugin插件,用於將項目做成可執行的jar文件。
我們再dos里輸入mvn clean install,會看到:
然後我們打開項目文件夾下的\target文件夾,會看到生成:
其中hello-maven-0.0.1-SNAPSHOT.jar是帶有Main-Class的可運行jar文件,而original-hello-maven-0.0.1-SNAPSHOT.jar是原始的可供其他項目使用的jar文件。
如果我們在該文件夾打開dos輸入java -jar hello-maven-0.0.1-SNAPSHOT.jar,可見:
可以執行了。
5.maven的基本指令。
1. 編譯測試代碼:
mvn test-compile
2. 運行測試:
mvn test
3. 產生site:
mvn site
4. 打包:
mvn package
5. 在本地Repository中安裝jar:
mvn install
6. 清除產生的項目:
mvn clean
7. 生成eclipse項目:
mvn eclipse:eclipse
8. 生成idea項目:
mvn idea:idea
9. 組合使用goal命令,如只打包不測試:
mvn -Dtest package
10. 編譯測試的內容:
mvn test-compile
11. 只打jar包:
mvn jar:jar
12. 只測試而不編譯,也不測試編譯:
mvn test -skipping compile -skipping test-compile
13. 清除eclipse的一些系統設置:
mvn eclipse:clean
14.查看當前項目已被解析的依賴:
mvn dependency:list
ok了,今天的maven使用教程就到此為止了!!!
如有不當地方可以郵件給我:[email protected]
---恢復內容結束---
這是我第一次寫博客,這個想法源於我的師傅對我的建議,一是與大家一起進步,二是讓自己養成總結的好習慣。
“如果你步入的maven的世界,你便打開了Java的另一扇大門”。
這篇文章是面向沒有接觸過maven的同學們,對於maven玩的很溜的,請指出該文章的不足。
1.什麼是maven? |
2.為什麼使用maven? |
3.maven的安裝。 |
4.maven初體驗。 |
5.maven的基本指令。 |
1.什麼是maven?
maven就是一種項目對象模型(POM),可以通過一小段描述信息來管理項目的構建。說白了就是通過一個配置文件管理整個項目的build。它是一個主要服務於Java平臺,出自Apach組織的開源的牛逼項目。主要功能是項目構建、依賴管理、項目信息管理。具體關於maven的非技術歷史,這裡不多說,自行百度。
2.為什麼使用maven?
因為maven是一款很強大的構建工具,能夠幫我們自動化構建過程,從清理、編譯、測試、生成報告、打包、部署等等,如果我們純手動,會很浪費時間的,面向對象編程的優點在於模塊化,提高復用性。那麼maven就是這一系列操作的封裝(我是這樣認為的,如有不恰當之處,請指出),如果需要做這些操作,我們只需一個指令,maven就可以替我們完成這一系列操作,從而節省大量無意義的、機械的動作,提高編程效率,而不再是我們進行重覆的設計,重覆的編碼,重覆的文檔 ......(此處省略n+1個文字,沒錯,maven就是這麼強大)
3.maven的安裝。
下載完成後,點擊解壓到指定的文件夾。解壓完成後還沒完...還要進行環境變數的配置。
將maven安裝的目錄路徑配置到環境變數,並給變數起名字(這是為了在以後升級時,僅將此處路徑更改即可,而不必改動PATH路徑的變數,我們要充分利用電腦內變數這一機制,這樣可以大量減少我們的操作)。
將變數名配置到PATH的值內,這是為了無論我們在哪個位置都可以使用maven指令。接下來我們隨手打開cmd,輸入mvn -v,這是查看maven的版本,同時也是看一下我們環境變數是否配置成功。如果提示not found,就表示沒有成功,自己再好好琢磨一下吧。
如果配置成功,我們再dos視窗輸入mvn help:system,這是列印所有java系統屬性和環境變數,在這裡是為了讓maven第一次運行一個任務,將maven在你的電腦上能夠有一個完整的結構。運行完之後,你的個人賬戶的所有應用配置文件夾(也就是C:\Users\%uname%\)下,會出現~.m2文件夾,這個就是maven在你電腦上,屬於你的maven配置的文件夾。
接下來我們來到你的%MAVEN_HOME%\config目錄里,你會看到這些:
其中,settings.xml將會時我們日後經常訪問的文件,它時maven的配置文件,maven的設置全部來自該配置文件的參數配置。我們剛剛接觸maven,我們只需對它來個初步設置,具體的其他設置我們日後再議。接下來我們將它複製到C:\Users\%uname%\.m2下,然後打開它,你會看到200~300行的代碼,我們初學者只需添加一行代碼即可:
上面已註釋的代碼說的很清楚,這個是maven在你電腦的本地倉庫(就是項目所需的依賴在本地電腦的儲存位置)的配置位置,預設在與該配置文件所在文件夾內的\repository文件夾內。而我不喜歡如此大的文件放在小小的C盤裡,所以放到了D盤。到這裡,我們maven的安裝就完成了。
4.maven初體驗
我們使用Myeclipse創建一個maven項目,(Myeclipse已集成maven),只需在配置裡面把maven設置一下即可
將它設置為自己安裝的maven,儘量不要使用自帶maven(集成不代表自帶)。
然後File > New > Other > Maven > Maven Object ,先不要點擊Create a simple project,那個以後再議,Next,然後選擇maven-archetype-quickstart,在這裡可以講Archetype理解成Maven項目的模板,例如maven-archetype-quickstart就是最簡單的Maven項目模板,只需提供基本的元素,如groupId,artifactId,version等,它就能生成項目的基本結構及POM文件。接下來的groupId,artifactId,version是maven的基本元素。
groupId:指的是你屬於哪些組織,在這裡你可以寫你的名字+功能變數名稱歸屬的倒置。
artifactId:指的是該項目的id。
version:該項目的版本。
然後就可以編輯pom.xml的代碼了,如下:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4 <modelVersion>4.0.0</modelVersion> 5 6 <!-- 本項目基本坐標 --> 7 <groupId>cn.zuoyu.fistmaven</groupId> 8 <artifactId>hello-maven</artifactId> 9 <version>0.0.1-SNAPSHOT</version> 10 <packaging>jar</packaging> 11 12 <name>hello-maven</name> 13 <url>http://maven.apache.org</url> 14 15 <properties> 16 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 17 </properties> 18 19 <build> 20 <plugins> 21 22 <!-- 控制java版本 --> 23 <plugin> 24 <groupId>org.apache.maven.plugins</groupId> 25 <artifactId>maven-compiler-plugin</artifactId> 26 <version>2.3.2</version> 27 <configuration> 28 <source>1.8</source> 29 <target>1.8</target> 30 </configuration> 31 </plugin> 32 33 </plugins> 34 </build> 35 36 <dependencies> 37 <dependency> 38 <groupId>junit</groupId> 39 <artifactId>junit</artifactId> 40 <version>4.7</version> 41 <scope>test</scope> 42 </dependency> 43 </dependencies> 44 </project>
然後編寫一個實體類和一個測試類,編寫完之後,我們在該項目的目錄下打開dos視窗,輸入mvn test,可見:
這是maven的測試,成功!
接下來用maven製作jar包,當然前提是給項目加一個main方法,然後再pom.xml下加入一下代碼,路徑是main方法的路徑,不要弄錯了:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>1.6</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>cn.zuoyu.fistmaven.hello_maven.App</mainClass> </transformer> </transformers> </configuration> </execution> </executions> </plugin>
這個是maven里的maven-shade-plugin插件,用於將項目做成可執行的jar文件。
我們再dos里輸入mvn clean install,會看到:
然後我們打開項目文件夾下的\target文件夾,會看到生成:
其中hello-maven-0.0.1-SNAPSHOT.jar是帶有Main-Class的可運行jar文件,而original-hello-maven-0.0.1-SNAPSHOT.jar是原始的可供其他項目使用的jar文件。
如果我們在該文件夾打開dos輸入java -jar hello-maven-0.0.1-SNAPSHOT.jar,可見:
可以執行了。
5.maven的基本指令。
1. 編譯測試代碼:
mvn test-compile
2. 運行測試:
mvn test
3. 產生site:
mvn site
4. 打包:
mvn package
5. 在本地Repository中安裝jar:
mvn install
6. 清除產生的項目:
mvn clean
7. 生成eclipse項目:
mvn eclipse:eclipse
8. 生成idea項目:
mvn idea:idea
9. 組合使用goal命令,如只打包不測試:
mvn -Dtest package
10. 編譯測試的內容:
mvn test-compile
11. 只打jar包:
mvn jar:jar
12. 只測試而不編譯,也不測試編譯:
mvn test -skipping compile -skipping test-compile
13. 清除eclipse的一些系統設置:
mvn eclipse:clean
14.查看當前項目已被解析的依賴:
mvn dependency:list
ok了,今天的maven使用教程就到此為止了!!!
如有不當地方可以郵件給我:[email protected]