我們再做項目的時候,有很多模塊是可以重複使用的,maven提供了很好的解決模塊之間相互引用的方法,具體流程如下:
1.建立共用模塊
2.把共用模塊安裝到本地maven倉庫中(mvn install)
3.再引用項目中確定安裝公共模塊的座標
4.完成,可以調用公共模塊的方法和功能了
先說一下maven的基本命令
創建一個簡單的Java工程:mvn archetype:create -DgroupId=com.mycompany.example -DartifactId=Example
創 建一個java的web工程:mvn archetype:create -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-webapp -DgroupId=com.mycompany.app -DartifactId=my-webapp
打包:mvn package
編譯:mvn compile
編譯測試程序:mvn test-compile
清空:mvn clean
運行測試:mvn test
生成站點目錄: mvn site
生成站點目錄併發布:mvn site-deploy
安裝當前工程的輸出文件到本地倉庫: mvn install
安 裝指定文件到本地倉庫:mvn install:install-file -DgroupId=<groupId> -DartifactId=<artifactId> -Dversion=1.0.0 -Dpackaging=jar -Dfile=<myfile.jar>
查看實際pom信息: mvn help:effective-pom
分析項目的依賴信息:mvn dependency:analyze 或 mvn dependency:tree
跳過測試運行maven任務: mvn -Dmaven.test.skip=true XXX
生成eclipse項目文件: mvn eclipse:eclipse
查看幫助信息:mvn help:help 或 mvn help:help -Ddetail=true
查看插件的幫助信息:mvn <plug-in>:help,比如:mvn dependency:help 或 mvn ant:help 等等。
常用命令
1. 創建Maven的普通java項目:
mvn archetype:create
-DgroupId=packageName
-DartifactId=projectName
2. 創建Maven的Web項目:
mvn archetype:create
-DgroupId=packageName
-DartifactId=webappName
-DarchetypeArtifactId=maven-archetype-webapp
3. 編譯源代碼: mvn compile
4. 編譯測試代碼:mvn test-compile
5. 運行測試:mvn test
6. 產生site:mvn site
7. 打包:mvn package
8. 在本地Repository中安裝jar:mvn install
9. 清除產生的項目:mvn clean
10. 生成eclipse項目:mvn eclipse:eclipse
11. 生成idea項目:mvn idea:idea
12. 組合使用goal命令,如只打包不測試:mvn -Dtest package
13. 編譯測試的內容:mvn test-compile
14. 只打jar包: mvn jar:jar
15. 只測試而不編譯,也不測試編譯:mvn test -skipping compile -skipping test-compile
( -skipping 的靈活運用,當然也可以用於其他組合命令)
16. 清除eclipse的一些系統設置:mvn eclipse:clean
17. mvn archetype:generate 這實際上就是讓maven-archetype-plugin生成一個很簡單的項目骨架,幫助開發者快速上手
D:\Users\Administrator\workspace\maven>mvn archetype:generate -DgroupId=com.m
DartifactId=my1 -Dversion-0.0.1-SNAPSHOT創建一個簡單的java項目,按照maven目錄結構
再eclipse中創建相互引用的項目
建立項目一:test
這裏MavenHello就是我們要說的公共類,雖然沒什麼功能,呵呵代碼如下:
package com.my;
public class MavenHello {
public static void say(){
System.out.println("hello");
}
}
pom文件如圖:
這個項目的座標就是:
<groupId>com.test</groupId>
<artifactId>test</artifactId>
<version>0.0.1-SNAPSHOT</version>
在其他項目中就引用這塊就可以了
建立項目test2,圖就不上了
在test2中引用test項目中的一個方法
MavenHello.say();
在test2的pom文件中關聯上對test的依賴
在eclipse中test2已經可以引用test的方法了
如果要用命令行試試,必須先到test目錄下(就是pom文件那個目錄)運行maven install命令將test安裝到本地的maven倉庫中,我運行了截圖如下:
進入我的maven倉庫就可以看到我剛纔安裝的包:
我們可以到test2下運行maven compile,項目是可以編譯通過的,這樣項目關聯已經完成了