美文网首页
linux 下手动增加更新 jar 中文件

linux 下手动增加更新 jar 中文件

作者: 58bc06151329 | 来源:发表于2017-10-10 10:28 被阅读1681次

    文前说明

    作为码农中的一员,需要不断的学习,我工作之余将一些分析总结和学习笔记写成博客与大家一起交流,也希望采用这种方式记录自己的学习之旅。

    本文仅供学习交流使用,侵权必删。
    不用于商业目的,转载请注明出处。

    查看 jar 包中的文件列表,并进行重定向

    jar -tvf a.jar > a.txt 
    

    更新文件到 jar 中,目录需对应

    jar -uf a.jar com/a.class
    
    • a.class 文件在 jar 包中的目录是 com/a.class。
    • a.class 文件在本地路径,相对 a.jar 包,也是 com/a.class。
    -rw-r--r--. 1 root root    5418 Aug  9 23:59 a.jar
    drwxr-xr-x. 3 root root      19 Oct 10 01:58 com
    

    增加文件到 jar 中,目录需对应

    与修改一致,jar 中原来没有的目录,会自动创建。

    jar -uf a.jar com/test/a.class
    
    jar -tvf a.jar > a.txt 
    

    查看 a.txt 内容会发现 jar 包中自动创建了 com/test/ 目录。

    JAR 命令

    命令 说明
    -c 在标准输出上创建新归档或空归档。
    -C 在执行 jar 命令期间更改目录。jar -uf a.jar -C classes * 将 classes 目录内的所有文件加到 a.jar 中,但不添加类目录本身。
    -f 第二个参数指定要处理的 jar 文件(文件列表中的第一个元素是要创建或访问的存档文件名字)。在 -c (创建)情形中,第二个参数指的是要创建的 jar 文件的名称(不是在标准输出上)。在 -t (表(或 -x (抽取)这两种情形中,第二个参数指定要列出或抽取的 jar 文件。
    -i 应提供的索引信息。
    -m 包括指定的现有清单文件中的清单信息(文件列表的第二个元素是外部的清单文件名)。用法举例:jar cmf myManifestFile myJarFile *.class
    -M 不创建项目的清单文件。
    -t 在标准输出上列出内容表(存档文件的内容应制成表格)。
    -u 通过添加文件或更改清单来更新现有的 JAR 文件。例如:jar -uf a.jar a.class 将文件 a.class 添加到现有的 JAR 文件 a.jar 中,而 jar umf manifest foo.jar 则用 manifest 中的信息更新 a.jar 的清单。
    -v 在标准错误输出设备上生成长格式的输出结果(当工具执行时显示的详细信息)。
    -x[file] 从标准输入提取所有文件,或只提取指定的文件。如果省略了 file,则提取所有文件;否则只提取指定文件。
    -0 只储存,不进行 ZIP 压缩。

    相关文章

      网友评论

          本文标题:linux 下手动增加更新 jar 中文件

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