clw*_*isk 77
您可以使用该u选项jar
来自Java教程:
jar uf jar-file input-file(s)
Run Code Online (Sandbox Code Playgroud)
"存档中已存在的文件与添加的文件具有相同的路径名将被覆盖."
请参阅更新JAR文件.
比整个罐子重新制作要好得多.从你的程序中调用它听起来也是可能的.尝试在Java中运行命令行
Jos*_*ban 22
你可以使用Vim:
vim my.jar
unzip根据您的环境,Vim能够编辑压缩文本文件.
Jus*_*eff 10
Java jar文件的格式与zip文件的格式相同 - 因此,如果您有一个可以修改存档的zip文件实用程序,那么您就可以了.第二个问题是,如果你想重新编译一个类或者什么东西,你可能只需要重新构建jar; 但是应该很容易修改文本文件或其他东西(例如xml).
正如许多人所说,如果不重新安装JAR,就无法更改JAR中的文件.使用Launch4J更糟糕的是,一旦更改了JAR,就必须重建EXE.所以不要走这条路.
将配置文件放在JAR中通常是个坏主意.这是我的建议.在某些预定位置搜索配置文件(如主目录,\ Program Files\etc).如果找到配置文件,请使用它.否则,使用JAR中的那个作为后备.如果这样做,您只需要在预先确定的位置编写配置文件,程序就会将其取出.
此方法的另一个好处是,如果升级软件,修改后的配置文件不会被覆盖.
不确定这是否有帮助,但您可以在不解压的情况下进行编辑:
查看博客文章了解更多详细信息 http://vinurip.blogspot.com/2015/04/how-to-edit-contents-of-jar-file-on-mac.html
小智 5
我有类似的问题,我需要修改/更新 jar 文件内的 xml 文件。
jar 文件由 Spring-boot 应用程序创建,文件位置为BOOT-INF/classes/properties
我正在引用该文档并尝试使用以下命令替换/更新该文件:
jar uf myapp.jar BOOT-INF/classes/properties/test.xml
但这样一来,它就不会更改给定位置的文件。我也尝试了所有选项,但都不起作用。
注意:我从 jar 文件所在的位置执行命令。
我找到的解决方案是:
jar 文件中的 xml 文件已更改。
基本上,您需要创建一个文件夹结构,例如文件在 jar 文件中的位置。将文件复制到该位置,然后执行命令。
该文档的问题在于,它没有足够的示例以及常见场景的解释。
| 归档时间: |
|
| 查看次数: |
102037 次 |
| 最近记录: |