有時候我們需要查看打成war包之后的目錄,如果是maven項目我們可以直接用maven打包。
1.maven打包:
第一種:
mvn package
如果不行先 mvn clean一下
第二種:(掌握)
mvn war:war
打包完成之后會在target目錄下生成war包
2.解壓war包
liqiang@root MINGW64 ~/Desktop/新建文件夾 $ ls jwxt-1.0-SNAPSHOT.war liqiang@root MINGW64 ~/Desktop/新建文件夾 $ jar -xvf ./jwxt-1.0-SNAPSHOT.war #解壓war包
解壓之后原來的war包不會自動消失,將里面的文件提取出來;
$ ls 404.jsp cssJs.jsp js/ META-INF/ user.json 500.html fonts/ jwxt-1.0-SNAPSHOT.war pages/ WEB-INF/ 500.jsp images/ lib/ README.md welcome.html css/ index.jsp login.jsp tag.jsp welcome.jsp
3.再次用java自帶的命令打包:
$ jar -cvfM0 jwxt.war ./
查看JDK自帶的jar工具;
用法: jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] file 選項包括: -c 創建新的歸檔文件 -t 列出歸檔目錄 -x 從檔案中提取指定的 (或所有) 文件 -u 更新現有的歸檔文件 -v 在標准輸出中生成詳細輸出 -f 指定歸檔文件名 -m 包含指定清單文件中的清單信息 -e 為捆綁到可執行 jar 文件的獨立應用程序 指定應用程序入口點 -0 僅存儲; 不使用情況任何 ZIP 壓縮 -M 不創建條目的清單文件 -i 為指定的 jar 文件生成索引信息 -C 更改為指定的目錄並包含其中的文件 如果有任何目錄文件, 則對其進行遞歸處理。 清單文件名, 歸檔文件名和入口點名稱的指定順序 與 'm', 'f' 和 'e' 標記的指定順序相同。 示例 1: 將兩個類文件歸檔到一個名為 classes.jar 的歸檔文件中: jar cvf classes.jar Foo.class Bar.class 示例 2: 使用現有的清單文件 'mymanifest' 並 將 foo/ 目錄中的所有文件歸檔到 'classes.jar' 中: jar cvfm classes.jar mymanifest -C foo/ .