在jar中更新.class文件

我想用一个新的jar文件更新jar文件。 什么是最简单的方法来做,特别是在Eclipse IDE中?

本教程详细介绍了如何更新jar文件

 jar uf jar-file input-file(s) 

你的意思是更新。

你想自动或手动吗? 如果手动,一个JAR文件实际上只是一个ZIP文件,所以你应该能够用任何ZIP阅读器打开它。 (您可能需要先更改扩展名。)如果您想通过Eclipse自动更新JAR文件,则可能需要查看Eclipse中的Ant支持,并查看zip任务 。

只需使用7-Zip或Winzip将新的类文件拖放到JAR中即可。 您甚至可以使用父文件夹图标修改包含在WAR文件中的JAR文件,并在7zip检测到内部文件已被修改时单击确定

Jar是一个档案,你可以用你最喜欢的文件pipe理器(例如Total Commander)自己replace一个文件。

  1. 使用jar -xvf将文件jar -xvf压缩到目录。
  2. 进行更改并更换class级。
  3. 使用jar -cvf创build一个新的jar文件。

JAR文件只是一个伪装的.zip文件。 压缩文件夹包含.class文件。

如果你在macOS上:

  1. 重命名文件以拥有“.zip”扩展名。 例如myJar.jar – > myJar.zip。
  2. 解压缩“.zip”(双击它)。 将出现一个名为“myJar”的新文件夹
  3. 使用新的.class文件查找并replace.class文件。
  4. select文件夹“myJar”的所有内容,然后select“压缩x项目”。 不要压缩文件夹本身,只有其内容

杂项 – 在macOS上编译一个参考了原始jar的单个.class文件

  1. 创build一个包含你的代码的文件myClass.java。
  2. 从Spotlight打开terminal。
  3. javac -classpath originalJar.jar myClass.java这将创build你的编译类myClass.class。

从这里开始,按照上面的步骤。 您也可以使用Eclipse进行编译,只需右键单击项目“构buildpath” – >“添加外部归档”即可引用原始jar。 从这里你应该可以将它编译成一个jar,并使用上面的zip技术从jar中获取类。

1)你可以将文件解压缩到一个名为的文件夹中

jarname.jar

然后replace文件夹中的文件,如果在debugging的时候更新了很多类的话

2)你可以提取的jarreplace文件,然后再把它jar起来

3)用7拉链打开jar子,拖放你的新class级,复制旧class级

另一种方法是不要replacejar文件中的.class文件。 而是把它放到一个新的jar文件中,并确保它比原来的jar文件更早出现在classpath中。

不知道我会推荐这个生产软件,但发展它是快速和容易的。