美文网首页
jar包单独解压缩一个指定文件指令

jar包单独解压缩一个指定文件指令

作者: 天马行空爱做梦 | 来源:发表于2020-10-13 14:39 被阅读0次

    下面指令的作用: 把device.jar 中的 BOOT-INF/classes/application.yml单独解压出来,修改后,再更新回device.jar 中

    cp -r ./device-web/target/*.jar ./device-web/target/device.jar
    
    jar xvf device.jar  BOOT-INF/classes/application.yml
    sed -i 's/'"map: true"'/'"map: false"'/g' BOOT-INF/classes/application.yml
    sed -i 's/'"controlPolicy: true"'/'"controlPolicy: false"'/g' BOOT-INF/classes/application.yml
    /opt/jdk/jdk1.8.0_221/bin/jar uvf device.jar BOOT-INF/classes/application.yml
    

    上面用到的指令 :

    jar xvf filename.jar targetfile # 把jar中制定的targetfile文件,解压出来
    jar uvf  filename.jar targetfile  # 把targetfile文件,更新到 filename.jar中
    

    jar命令参数详细:

    [root@hostserver temp]# 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包单独解压缩一个指定文件指令

          本文链接:https://www.haomeiwen.com/subject/zdevpktx.html