在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一个文件。
- 使用
jar -xvf
将文件jar -xvf
压缩到目录。 - 进行更改并更换class级。
- 使用
jar -cvf
创build一个新的jar文件。
JAR文件只是一个伪装的.zip文件。 压缩文件夹包含.class
文件。
如果你在macOS上:
- 重命名文件以拥有“.zip”扩展名。 例如myJar.jar – > myJar.zip。
- 解压缩“.zip”(双击它)。 将出现一个名为“myJar”的新文件夹
- 使用新的.class文件查找并replace.class文件。
- select文件夹“myJar”的所有内容,然后select“压缩x项目”。 不要压缩文件夹本身,只有其内容
杂项 – 在macOS上编译一个参考了原始jar的单个.class文件
- 创build一个包含你的代码的文件myClass.java。
- 从Spotlight打开terminal。
-
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中。
不知道我会推荐这个生产软件,但发展它是快速和容易的。