You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

更新JAR文件时其他内容被误删的技术求助

问题原因与解决方法

核心原因

你执行命令时大概率犯了两个常见错误之一:

  • 当前工作目录下不存在原66M的test-SNAPSHOT.jar,jar命令自动创建了一个新的空JAR文件(大小约4K),而非更新原文件;
  • 本地待更新的test-INF/classes/cert路径错误或文件不存在,导致jar命令错误生成了仅包含空结构的JAR。

解决步骤

1. 找回原JAR文件

检查你最初存放66M JAR的目录,原文件大概率没被删除——你当前目录下的4K文件是jar命令新创建的空文件。

2. 正确执行更新命令

确保满足两个前提:

  • 原test-SNAPSHOT.jar在当前工作目录,或你在命令中指定其完整路径;
  • 本地存在与JAR内部结构一致的test-INF/classes/cert文件。

场景1:本地文件结构与JAR内部一致

如果你的本地目录结构如下:

当前目录/
├─ test-SNAPSHOT.jar
└─ test-INF/
   └─ classes/
      └─ cert

直接执行命令:

jar -uf test-SNAPSHOT.jar test-INF/classes/cert

场景2:本地文件在子目录中

如果cert文件存放在./src/test-INF/classes/cert,需要用-C参数切换到源文件的根目录,保证路径映射正确:

jar -uf test-SNAPSHOT.jar -C src test-INF/classes/cert

3. 验证结果

执行以下命令查看JAR内容,确认cert已更新且其他文件未丢失:

jar -tf test-SNAPSHOT.jar

预防措施

每次修改JAR前,先复制一份原文件做备份,避免误操作导致数据丢失。

内容的提问来源于stack exchange,提问作者Karthikeyan Suresh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 11:06:07