如何提取 .jar 文件并创建 100% 相同的新文件

问题描述 投票:0回答:2

当我读到有关修改

version.jar
文件来修改你的游戏时,我正在摆弄 Minecraft 版本文件。我开始尝试一些东西,但几乎立刻就陷入了困境。

我在 Mac 上使用终端应用程序工作。

我的问题如下:
我开始将

version.jar
文件放入
TEST
文件夹中。

  • 首先我跑步
    cd path_to_folder/TEST
  • 然后我运行:
    jar -xf version.jar
    女巫似乎提取了填充文件夹的文件
    .class
    文件,一些其他文件和一些文件夹,包括文件夹
    META-INF/MANIFEST.MF

此时我尝试重新创建

version.jar
文件。

  • 首先,我使用
    version.jar
    删除仍存在于
    TEST
    中的原始
    rm version.jar
    文件。
  • 我运行
    jar -cmf META-INF/MANIFEST.MF 1.12.2_mod.jar * 
    女巫创建了一个新的
    version.jar
    文件。

现在我尝试运行它,但它不起作用。 分析两个文件的尺寸(之前和之后),我没有得到相同的大小:原始文件是

10’180’113
字节,新文件是
10’195’006
咬。

我该如何解决我的问题?

编辑:

在尝试使用终端之前,我使用了MacOS的原生解压缩工具,然后将其压缩为zip,最后将扩展名重命名为

.jar
。没用。

如果我首先将

.jar
扩展重命名为
.zip
,解压缩,压缩并最终重命名扩展,则会得到相同的结果。没用。

我还尝试使用Keka来压缩和解压缩zip文件。没用。

我可以尝试将文件注入到

version.jar
文件中,但我很难理解该命令的语法...

java jar extract minecraft
2个回答
1
投票

过去的自己你好!

要在 Mac 上编辑

.jar
文件而不解压和重新创建,您可以执行以下操作:

  • 将整个
    version.jar
    提取到一个新的单独文件夹中。
cd path_to_folder/TEST
mkdir tmp
mv version.jar tmp/version.jar
jar -xf tmp/version.jar
  • tmp
    文件夹内,您可以选择要编辑的文件并将它们移至外部
    path_to_folder/TEST
    内。
  • 删除
    tmp
    文件夹。
  • 对新选择的文件进行所需的修改。
  • 将您的修改插入到
    version.jar
    中。
cd path_to_folder/TEST
jar -uf version.jar freshly_selected_file

现在您可以通过修改运行您的

version.jar


0
投票

如何在 ubuntu 中做到这一点?我已经尝试过,但没有成功。 假设我在 path_to_folder、TEST 和 tmp 中没有任何内容,并且想开始下载 .jar 文件。我该怎么办@Pa Dalton

我的文件来自github(下面的链接),原因是在安装jar时它给我错误“没有主要清单属性” github.com/instipod/DuoUniversalKeycloakAuthenticator/releases/tag/1.0.7

谢谢你

© www.soinside.com 2019 - 2024. All rights reserved.