前言
對一個程序員來說,java項目的打包部署也是一項必須掌握的一項技術任務,現我將自己平時在maven下打包以及部署項目總結,希望對有這方面訴求的小伙伴有所幫助!
一.maven項目打包及命令
(1).先把命令行切換到Maven項目的根目錄,例如:/data/springcloud/eureka,然后執行命令:mvn clean package
[root@localhost ~]# cd /data/springcloud/eureka
[root@localhost eureka]# mvn clean package
# 執行命令成功后,war包保存在項目的target目錄下。
注:需要先安裝Maven
(2).常用命令
//查看版本
mvn -v
//創建 Maven 項目
mvn archetype:create
//編譯源代碼
mvn compile
//編譯測試代碼
mvn test-compile
//運行應用程序中的單元測試
mvn test
//生成項目相關信息的網站
mvn site
//依據項目生成 jar 文件
mvn package
//在本地 Repository 中安裝 jar
mvn install
//忽略測試文檔編譯
mvn -Dmaven.test.skip=true
//清除目標目錄中的生成結果
mvn clean
//將.java類編譯為.class文件
mvn clean compile
//進行打包
mvn clean package
//執行單元測試
mvn clean test
//部署到版本倉庫
mvn clean deploy
//使其他項目使用這個jar,會安裝到maven本地倉庫中
mvn clean install
//創建項目架構
mvn archetype:generate
//查看已解析依賴
mvn dependency:list
//看到依賴樹
mvn dependency:tree
//查看依賴的工具
mvn dependency:analyze
//從中央倉庫下載文件至本地倉庫
mvn help:system
//查看當前激活的profiles
mvn help:active-profiles
//查看所有profiles
mvn help:all-profiles
//查看完整的pom信息
mvn help:effective -pom
二.Linux nohup、&、 2>&1解釋
通常起一個jar 文件的時候可以直接通過java -jar 來啟動,比如:
A.nohup java -jar -Dspring.profiles.active=xxx -Dserver.port=xxx xxx.jar >security.out 2>&1 &
B.nohup java -jar gp_doublecontrolle-2.2.6-11-03.jar>> gp_doublecontrolle_2021_1103.log 2>&1 &
但是這里面很多的參數,不知道大家有沒有自信研究過
1. nohup
放在命令的開頭,表示不掛起(no hang up),也即,關閉終端或者退出某個賬號,進程也繼續保持運行狀態,一般配合&符號一起使用。如nohup command &。
2. 2>&1 &
這里先看一下 shell里面幾個數字的含義
/dev/null 表示空設備文件
0 表示stdin標准輸入
1 表示stdout標准輸出
2 表示stderr標准錯誤
> file 表示將標准輸出輸出到file中,也就相當於 1>file
2> error 表示將錯誤輸出到error文件中
2>&1 也就表示將錯誤重定向到標准輸出上
2>&1 >file :錯誤輸出到終端,標准輸出重定向到文件file,等於 > file 2>&1(標准輸出重定向到文件,錯誤重定向到標准輸出)。
& 放在命令到結尾,表示后台運行,防止終端一直被某個進程占用,這樣終端可以執行別到任務,配合 >file 2>&1可以將log保存到某個文件中,但如果終端關閉,則進程也停止運行。如 command > file.log 2>&1 & 。