作者:Damniel
微博:
博客:https://blog.csdn.net/bulletoo_(轉載請說明出處)
-----------------------------------華麗的分割線----------------------------------------
1.常用命令
mvn archetype:generate--構建項目
mvn clean--項目清理
mvn test--項目單元測試的編譯
mvn compile--項目源代碼的編譯
mvn package--項目打包
mvn install--發佈項目提交到本地倉庫
mvn deploy--發佈項目到
mvn jetty:run--啓動jetty容器
mvn eclipse:clean--清除eclipse的一些系統設置
mvn eclipse:eclipse--生成eclipse項目文件
mvn idea:clean--清除idea的一些系統設置
mvn idea:idea--生成idea項目文件
mvn dependency:tree--查看依賴樹
mvn assembly:assembly--需要配assembly插件,可用於把指定文件進行打包 tar.gz,zip包
//指定maven參數:
-DskipTests=true--默認不走單元測試
-P local--選擇資源文件類型 local,需在pom開啓資源配置
2.package與install的區別
如果b項目依賴a項目,而a打了包(package),jar僅僅時打到了a項目的target下。這時編譯b項目,還是會報錯,找不到所依賴的a項目,說明b項目在本地倉庫是沒有找到它所依賴的a項目。然後,我install a項目這時,有以下日誌:
[INFO] Installing D:\projects\a\target\a-0.0.1-SNAPSHOT.jar to F:\repository\com\chenjun\a\0.0.1-SNAPSHOT\a-0.0.1-SNAPSHOT.jar
[INFO] Installing D:\projects\a\pom.xml to F:\repository\com\chenjun\a\0.0.1-SNAPSHOT\a-0.0.1-SNAPSHOT.pom
說明a項目已安裝到本地倉庫了,並且是jar和pom同時安裝的.
這時候去compileb項目,編譯通過.
總之,package是把jar打到本項目的target下,而install時把target下的jar安裝到本地倉庫,供其他項目使用.