java - 如何在不重新打包整个 jar 的情况下更新 jar 中的一个文件?

标签 java jar

我有一个名为 myfile.jar 的 .jar 文件。在这个 jar 文件中有一个名为 images 的文件夹。在这个名为 images 的文件夹中,我有一个名为 hi.png 的图像。我想用该图像的新版本(也称为 hi.png)更新该图像。我不想从单个 jar 文件中提取所有文件然后重新打包它们,我只想更新图像。因此,我像往常一样转到命令行,键入几行代码,然后执行以下命令:

jar uf myfile.jar -C images hi.png

我希望用该命令做的是用新的 hi.png 替换旧的 hi.png。但是,它给了我这个错误:

images\hi.png : no such file or directory

我该怎么做才能解决这个问题?

额外信息:我不能使用像 WinRAR 这样的东西,我必须用命令行来做。

最佳答案

-C 正在更改本地目录,并在那里寻找 hi.png。它不控制您尝试将其注入(inject) JAR 文件的位置。

我会尝试创建一个名为 images 的新目录,将您的本地 hi.png 移动到该目录中,使 images 成为您的子目录当前工作目录,然后运行这个:

jar uf myfile.jar images\hi.png

关于java - 如何在不重新打包整个 jar 的情况下更新 jar 中的一个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8461365/

相关文章:

java - 在manifest.mf中设置类路径以访问可执行jar之外的配置文件

java - 父类(super class)上 protected 数组的值意外更改

java - Mongodb聚合命令转java代码

java - 对网络服务的困惑

reflection - 将文件路径反射(reflect)到源目录或 jar 时找不到 Kotlin 类

java - 在本地jar到gradle项目中的阴影/阴影

java - 如何使用 C++ 应用程序和系统函数来执行 Java 控制台应用程序?

java - 将自定义 uri 方案与适用于 Windows 的 Java 自包含应用程序相关联

java - 绘制(paint)法类型转换-性能

java - jar执行错误: could not find or load main class xxx