Linux中jar包的解壓、修改與重新打包問題詳解
1、解壓
實驗中使用遠程操作服務器進行jar包的解壓,使用的指令為:jar -xvf **.jar。
出現(xiàn)問題 :在執(zhí)行完指令之后并沒有任何反應,終端沒有報錯,而是直接換行(糾結很久)。
解決辦法 :直接拷貝到遠程服務器的壓縮包是無法直接通過終端的指令進行解壓的,具體原因未知(待探討)。最直 接的解決方式是在本地進行解壓縮,將解壓縮后的文件拷貝到遠程服務器,再進行壓縮,此時獲得的壓縮包便可以進行直接操作。為遠程Linux服務器通過終端安裝軟件時也會出現(xiàn)這種問題,直接將本地的壓縮包拷貝過去,無法進行解壓、安裝等操作。
2、文件操作
在文件夾中找到需要修改或替換的文件,直接進行相關操作。
壓縮(此處遇到問題較多):jar指令的相關參數如下
Usage: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ...
Options:
-c create new archive
-t list table of contents for archive
-x extract named (or all) files from archive
-u update existing archive
-v generate verbose output on standard output
-f specify archive file name
-m include manifest information from specified manifest file
-n perform Pack200 normalization after creating a new archive
-e specify application entry point for stand-alone application
bundled into an executable jar file
-0 store only; use no ZIP compression
-P preserve leading '/' (absolute path) and ".." (parent directory) components from file names
-M do not create a manifest file for the entries
-i generate index information for the specified jar files
-C change to the specified directory and include the following file
If any file is a directory then it is processed recursively.
The manifest file name, the archive file name and the entry point name are
specified in the same order as the 'm', 'f' and 'e' flags.
Example 1: to archive two class files into an archive called classes.jar:
jar cvf classes.jar Foo.class Bar.class
Example 2: use an existing manifest file 'mymanifest' and archive all the
files in the foo/ directory into 'classes.jar':
jar cvfm classes.jar mymanifest -C foo/ .
實驗中涉及的jar包是一個完整的springboot項目,所以需要最后打包的jar包是一個可執(zhí)行文件,因此需要指定manifest.mf文件。
注意事項
manifest.mf文件的編寫存在較多細節(jié),羅列如下:
最終的打包指令為
jar cvfM0 **.jar ./,其中./表示當前目錄下所有的文件進行打包,切記,指令中M后邊必須添加0。-0僅存儲; 不使用任何 ZIP 壓縮,這樣可以保證使用解壓之前的manifest.mf文件。
若出現(xiàn)加載不到主清單程序
將壓縮包進行解壓縮,查看其中的manifest.mf文件是否已經發(fā)生改變,若發(fā)生改變,則說明壓縮操作出現(xiàn)問題。
1、不能有空行和空格的地方。第一行不可以是空行( 第一行的行前不可以有空行),行與行之間不能有空行,第行的行尾不可以有空格
2、一定要有空行的地方,最后一行得是空行,在輸入完成是加空行。
3、一定有空格的地方,key: value 在分號后面一定要寫寫一個空格
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
linux文件系統(tǒng)調整大小的方法(linux調整分區(qū)大小)
本文歸納了在不破快文件系統(tǒng)數據的前提下對文件系統(tǒng)大小進行調整的方法.這里采用的是"拆東墻, 補西墻"的方法, 當然, 如果你的磁盤中有未分區(qū)的空閑空間, 你就不用減小某個分區(qū)的空間了2014-01-01
在Linux中如何列出和刪除Iptables防火墻規(guī)則
當涉及到網絡安全時,防火墻是一個至關重要的組成部分,Iptables是一種常用的防火墻解決方案,可以幫助管理員保護他們的系統(tǒng)免受惡意攻擊,本文將詳細介紹如何列出和刪除Iptables防火墻規(guī)則,以幫助您更好地管理系統(tǒng)的安全性2023-06-06
Ubuntu服務器安裝與配置KingbaseES國產數據庫方法(圖文)
文章介紹了Ubuntu服務器KingbaseES國產數據庫的安裝與配置流程,涵蓋環(huán)境準備、掛載ISO、初始化數據庫等步驟,并強調其Oracle兼容性、高性能、高安全性及穩(wěn)定可靠的特點,適合企業(yè)級應用遷移與部署,同時提供官方技術支持與文檔保障2025-09-09

