国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

jar命令:linux中對jar文件的操作

這篇具有很好參考價值的文章主要介紹了jar命令:linux中對jar文件的操作。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

在 Linux 中,您可以使用 jar 命令來對 jar 文件中的文件進行編輯。jar 命令是 Java Development Kit (JDK) 中的一部分,用于創(chuàng)建、查看和修改 jar 文件。

先看一下jar自帶的幫助文檔

─$ jar --help                                                                                                                                                                                                                      127 ?
用法: jar [OPTION...] [ [--release VERSION] [-C dir] files] ...
jar 創(chuàng)建類和資源的檔案, 并且可以處理檔案中的
單個類或資源或者從檔案中還原單個類或資源。

 示例:
 # 創(chuàng)建包含兩個類文件的名為 classes.jar 的檔案:
 jar --create --file classes.jar Foo.class Bar.class
 # 使用現(xiàn)有的清單創(chuàng)建檔案, 其中包含 foo/ 中的所有文件:
 jar --create --file classes.jar --manifest mymanifest -C foo/ .
 # 創(chuàng)建模塊化 jar 檔案, 其中模塊描述符位于
 # classes/module-info.class:
 jar --create --file foo.jar --main-class com.foo.Main --module-version 1.0
     -C foo/ classes resources
 # 將現(xiàn)有的非模塊化 jar 更新為模塊化 jar:
 jar --update --file foo.jar --main-class com.foo.Main --module-version 1.0
     -C foo/ module-info.class
 # 創(chuàng)建包含多個發(fā)行版的 jar, 并將一些文件放在 META-INF/versions/9 目錄中:
 jar --create --file mr.jar -C foo classes --release 9 -C foo9 classes

要縮短或簡化 jar 命令, 可以在單獨的文本文件中指定參數(shù),
并使用 @ 符號作為前綴將此文件傳遞給 jar 命令。

 示例:
 # 從文件 classes.list 讀取附加選項和類文件列表
 jar --create --file my.jar @classes.list


 主操作模式:

  -c, --create               創(chuàng)建檔案。通過 -f 或 --file 指定的檔案文件名
                             包含路徑時,還將創(chuàng)建
                             缺少的父目錄
  -i, --generate-index=FILE  為指定的 jar 檔案生成
                             索引信息
  -t, --list                 列出檔案的目錄
  -u, --update               更新現(xiàn)有 jar 檔案
  -x, --extract              從檔案中提取指定的 (或全部) 文件
  -d, --describe-module      輸出模塊描述符或自動模塊名稱
      --validate             驗證 jar 檔案的內(nèi)容。此選項
                             將驗證由多發(fā)行版 jar 檔案導(dǎo)出
                             的 API 在所有不同的發(fā)行版本中
                             是否一致。

 在任意模式下有效的操作修飾符:

  -C DIR                     更改為指定的目錄并包含
                             以下文件
  -f, --file=FILE            檔案文件名。省略時, 基于操作
                             使用 stdin 或 stdout
      --release VERSION      將下面的所有文件都放在
                             jar 的版本化目錄中 (即 META-INF/versions/VERSION/)
  -v, --verbose              在標準輸出中生成詳細輸出

 在創(chuàng)建和更新模式下有效的操作修飾符:

  -e, --main-class=CLASSNAME 捆綁到模塊化或可執(zhí)行
                             jar 檔案的獨立應(yīng)用程序
                             的應(yīng)用程序入口點
  -m, --manifest=FILE        包含指定清單文件中的
                             清單信息
  -M, --no-manifest          不為條目創(chuàng)建清單文件
      --module-version=VERSION    創(chuàng)建模塊化 jar 或更新
                             非模塊化 jar 時的模塊版本
      --hash-modules=PATTERN 計算和記錄模塊的散列,
                             這些模塊按指定模式匹配并直接或
                             間接依賴于所創(chuàng)建的模塊化 jar 或
                             所更新的非模塊化 jar
  -p, --module-path          模塊被依賴對象的位置, 用于生成
                             散列

 只在創(chuàng)建, 更新和生成索引模式下有效的操作修飾符:

  -0, --no-compress          僅存儲; 不使用 ZIP 壓縮
      --date=TIMESTAMP       具有可選時區(qū)的 ISO-8601 擴展偏移
                             日期時間格式的時間戳(用于條目的時間戳),
                             例如,"2022-02-12T12:30:00-05:00"

 其他選項:

  -?, -h, --help[:compat]    提供此幫助,也可以選擇性地提供兼容性幫助
      --help-extra           提供額外選項的幫助
      --version              輸出程序版本

 如果模塊描述符 'module-info.class' 位于指定目錄的
 根目錄中, 或者位于 jar 檔案本身的根目錄中, 則
 該檔案是一個模塊化 jar。以下操作只在創(chuàng)建模塊化 jar,
 或更新現(xiàn)有的非模塊化 jar 時有效: '--module-version',
 '--hash-modules' 和 '--module-path'。

 如果為長選項提供了必需參數(shù)或可選參數(shù), 則它們對于
 任何對應(yīng)的短選項也是必需或可選的。
 
 cheat:jar
---
syntax: bash
tags: [ java ]
---
# To archive all files in the current directory into a jar file:
jar cf <file.jar> *

# To create a jar file using a pre-existing manifest file:
jar cfm <file.jar> <manifest_file> *

# To extract all files from a jar file in the current directory:
jar xf <file.jar>

# To extract only certain files from a jar file:
jar xf <file.jar> <file_to_extract>

# To list the content of a jar file:
jar tf <file.jar>

# To list the content of a jar file with verbose output:
jar tf <file.jar>

 tldr:jar
# jar
# Java applications/libraries packager.
# More information: <https://docs.oracle.com/javase/tutorial/deployment/jar/basicsindex.html>.

# Recursively archive all files in the current directory into a .jar file:
jar cf file.jar *

# Unzip .jar/.war file to the current directory:
jar -xvf file.jar

# List a .jar/.war file content:
jar tf path/to/file.jar

# List a .jar/.war file content with verbose output:
jar tvf path/to/file.jar

linux中,替換jar包中的文件,可以減少重新打包上傳的時間,尤其是網(wǎng)速不好的時候。

根據(jù)文件名,查找出文件在jar包中的文件目錄位置;

╰─$ jar -tvf dispatch-analysis-web-2.0.0.0.jar | grep FocusEnterpriseMapper.xml

>   651 Tue Jun 20 16:04:26 CST 2023 BOOT-INF/classes/com/ehl/utb/analysis/db/xml/FocusEnterpriseMapper.xml

將需要修改的文件,解壓出來,并替換修改的文件;

jar -xvf dispatch-analysis-web-2.0.0.0.jar BOOT-INF/classes/com/ehl/utb/analysis/db/xml/FocusEnterpriseMapper.xml

解壓完之后,在當(dāng)前文件夾中,就會有對應(yīng)的目錄文件:

BOOT-INF/classes/com/ehl/utb/analysis/db/xml/FocusEnterpriseMapper.xml

根據(jù)上面的解壓目錄找到FocusEnterpriseMapper.xml,然后把我們需要更換的這個文件放進去,覆蓋之前的文件即可。

之后開始把更新后的文件放入jar中。壓縮修改完的文件;

╰─$ jar -uvf dispatch-analysis-web-2.0.0.0.jar BOOT-INF/classes/com/ehl/utb/analysis/db/xml/FocusEnterpriseMapper.xml

文件放入成功,這個時候,重啟項目即可。

替換jar包中的jar文件時,前2個步驟同上,最后一步略有不同。

╰─$ jar -uvf0 abc.jar BOOT-INF/lib/a.jar

使用的是-uvf0而是不是-uvf

參考:linux中對jar文件的操作,Linux如何修改jar里的文件,linux替換jar包文件文章來源地址http://www.zghlxwxcb.cn/news/detail-499568.html

到了這里,關(guān)于jar命令:linux中對jar文件的操作的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Linux基礎(chǔ)命令 - 文件及目錄操作, 打印輸出, 查找命令, 用戶及權(quán)限管理, vi的使用等

    vi - 純文本編輯器 vi命令 是UNIX操作系統(tǒng)和類UNIX操作系統(tǒng)中最通用的 全屏幕 純文本編輯器。Linux中的vi編輯器叫 vim ,它是vi的 增強版 (vi Improved),與vi編輯器 完全兼容 ,而且實現(xiàn)了很多 增強功能 。 vi編輯器支持 編輯模式 和 命令模式 ,編輯模式下可以完成文本的編輯功

    2024年02月06日
    瀏覽(118)
  • Linux的文件操作命令

    Linux的文件操作命令

    接下來將介紹Linux中一些常用的文件操作命令,今天先演示五個類型的命令操作,內(nèi)容不是特別的全,找的幾個典型的常用的演示,想要全面的可以另找資料了解一下,推薦大家跟著敲跟著做才能加深記憶,祝大家學(xué)的開心,另外提醒大家,每個命令后面必須加空格然

    2024年02月05日
    瀏覽(16)
  • Linux文件目錄操作命令-mv命令

    ????????mv 命令是 move 的縮寫,可以用來移動文件或者將文件改名(move (rename) files),是Linux系統(tǒng)下常用的命令,經(jīng)常用來備份文件或者目錄。? mv 命令中第二個參數(shù)類型的不同(是目標文件還是目標目錄), mv 命令將文件重命名或?qū)⑵湟浦烈粋€新的目錄中。當(dāng)?shù)诙€參數(shù)類型

    2024年02月02日
    瀏覽(33)
  • Linux 命令操作(一)——文件和目錄操作

    目錄信息 參考鏈接 Linux常用操作命令大全 1.1、創(chuàng)建文件夾 1.1.1、創(chuàng)建目錄 1.1.2、創(chuàng)建文件 touch命令操作 1.2、刪除文件夾/文件 1.2.1、刪除目錄操作 1.2.2、刪除文件 1.3、重命名目錄或者文件名稱 1.4、目錄切換 1.5、目錄以及文件列表查看 1.6、復(fù)制目錄或者文件 -r 遞歸處理,將

    2024年02月03日
    瀏覽(22)
  • 文件目錄操作——Linux命令核心

    文件目錄操作——Linux命令核心

    目錄 相對路徑和絕對路徑 ?查看和切換工作目錄 pwd 顯示當(dāng)前工作目錄的絕對路徑 cd 切換目錄 列出目錄內(nèi)容 ls 列出目錄的內(nèi)容 創(chuàng)建和刪除目錄文件夾 mkdir創(chuàng)建一個新目錄 rmdir 刪除一個空的目錄 touch 創(chuàng)建空文件 cp復(fù)制文件或者目錄 rm 刪除文件或目錄 ?mv移動文件與目錄或重

    2024年02月01日
    瀏覽(30)
  • Shell命令操作Linux文件系統(tǒng)

    Shell命令操作Linux文件系統(tǒng)

    ??Linux文件系統(tǒng)是計算機操作系統(tǒng)中的一個關(guān)鍵組成部分,它用于管理和組織計算機上的數(shù)據(jù)和信息。先到根目錄,然后打印當(dāng)前目錄下文件: ??有一些比較常用的文件夾介紹如下: ?? /bin ——包含常見Linux 用戶命令,比如 ls、sort、date和l chmod。 ?? /home ——包含分

    2024年02月09日
    瀏覽(22)
  • 快速上手Linux核心命令(三):文件和目錄操作命令

    快速上手Linux核心命令(三):文件和目錄操作命令

    目錄 前言 cd 切換目錄 pwd 顯示當(dāng)前路徑 ls 顯示目錄下內(nèi)容及相關(guān)屬性信息 mkdir 創(chuàng)建目錄 tree 以樹形結(jié)構(gòu)顯示目錄下的內(nèi)容 touch 創(chuàng)建空白文件或改變文件的時間戳屬性 cp 復(fù)制文件或目錄 mv 移動或重命名文件 rm 刪除文件或目錄 chown 改變文件或目錄的用戶用戶組 chmod 改變文件

    2023年04月23日
    瀏覽(26)
  • linux筆記--文件內(nèi)容操作和歷史命令

    linux筆記--文件內(nèi)容操作和歷史命令

    目錄 cat命令 more命令 less命令 head命令 tail命令 sed命令 vim編輯器 history命令 clear命令 查看文件內(nèi)容,標準輸出 補充: ? ? ? ? 1.標準輸出:在linux中規(guī)定為輸出到屏幕 ? ? ? ? 2.標準輸入:在linux中規(guī)定為從鍵盤輸入 /etc/hostname文件是用來存放主機名,/etc/centos-release文件存放的

    2024年01月22日
    瀏覽(26)
  • Linux 終端命令之文件目錄操作,對比Dos相關(guān)命令

    Linux 終端命令之文件目錄操作,對比Dos相關(guān)命令

    目錄 前言 基礎(chǔ)命令(文件目錄相關(guān)的) cd命令 【英文幫助】 【對應(yīng)Dos命令】 pwd命令 【英文幫助】 【對應(yīng)Dos命令】 ls命令 【英文幫助】 【對應(yīng)Dos命令】 tree命令 【英文幫助】 【對應(yīng)Dos命令】 mkdir命令 【英文幫助】 【對應(yīng)Dos命令】 rmdir/rm命令 【英文幫助】 【對應(yīng)Dos命令

    2024年02月11日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包