# Maven ###### tags: `Maven` **預設配置** ${basedir} 代表專案根目錄 ${basedir}/target => 打包後的路徑 **Snapshot 版本与 Release 版本** Snapshot:版號後面帶Snapshot代表該版本還是在開發中,隨時可能會有更新的版本 Release:版號後面帶Release代表該版本為穩定完整的版本 **Maven Repository** Maven Repository(倉庫)可分為**本地倉庫**、**中央倉庫**、**第三方倉庫** 1. 本地倉庫 從中央或第三方倉庫下載下來放到本機的倉庫,預設路徑為 $user.home/.m2/repository 可透過修改Maven setting 來調整存放位置 <localRepository>D:/tools/Repository/DIGITAL_REPO/repository</localRepository> 2. 中央倉庫 Maven官方提供、維護的倉庫 https://mvnrepository.com/ 可透過此網址查找需要的套件 3. 第三方倉庫 個人或公司建立的倉庫通常只提供給公司內部使用 pom.xml找jar的路徑 1. 本地找到直接用 2. 本地找不到找第三方,找到就下載到本地 3. 第三方找不到找中央,找到後下載到本地、第三方 ps 沒有第三方則跳過 **生命週期** clean lifecycle 1. pre-clean 2. clean 3. post-clean default lifecycle 1. clean : 清除過去編譯的資料 2. compile : 將java檔編譯成class檔 3. test : 執行測試程式(JUnit) 4. package : 將project打包成war / jar 5. integration-test 6. verify 7. install : 將打包後的檔案複製到setting.xml指定的localRepository位置 8. deploy : 將最後的結果上傳到遠端倉庫 site lifecycle 1. pre-site 2. site 3. post-site 4. site-deploy 這三個相互獨立的生命週期互不影響,定義了建構過程的執行順序 maven執行任一階段時前面所有階段皆會執行 例如執行 mvn install時 install前面的都會執行 但不會執行clean、site因為他們是在不同的生命週期 **Maven command** mvn clean 、 mvn package、mvn install ... 參數 -u : 檢查所有snapshot是否為最新 -Dmaven.test.skip=true : 不執行、不編譯測試類 -DskipTests : 不執行測試類但編譯 -P : 多環境打包
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up