我想用新的 jar 更新 .class 文件。最简单的方法是什么,特别是在Eclipse IDE中?
答案 0 :(得分:64)
答案 1 :(得分:11)
您想自动或手动完成吗?如果手动,JAR文件实际上只是一个ZIP文件,因此您应该可以使用任何ZIP阅读器打开它。 (您可能需要先更改扩展名。)如果要通过Eclipse自动更新JAR文件,您可能需要查看Eclipse中的Ant支持并查看zip task。
答案 2 :(得分:10)
只需使用7-Zip或Winzip将新类文件拖放到JAR即可。您甚至可以使用父文件夹图标修改WAR文件中包含的JAR文件,并在7zip检测到内部文件已被修改时单击“确定”
答案 3 :(得分:6)
Jar是一个存档,您可以在自己喜欢的文件管理器中自行替换文件(例如Total Commander)。
答案 4 :(得分:6)
jar -xvf
将文件解压缩到目录。jar -cvf
创建新的jar文件。答案 5 :(得分:2)
JAR文件只是伪装的.zip文件。压缩文件夹包含.class
个文件。
如果您使用的是macOS:
.class
文件。其他 - 在macOS上编译单个.class文件,参考原始jar
javac -classpath originalJar.jar myClass.java
这将创建一个名为myClass.class的编译类。从这里开始,按照上述步骤操作。您也可以使用Eclipse来编译它,只需通过右键单击项目“Build Path” - >引用原始jar。 '添加外部档案'。从这里你应该能够将它编译为jar,并使用上面的zip技术从jar中检索类。
答案 6 :(得分:0)
1)您可以将文件解压缩到名为
的文件夹中jarname.jar
然后替换文件夹中的文件,如果你在调试时经常更新类,那么很方便
2)你可以提取jar替换文件,然后将jar重新上传
3)打开带有7个拉链的jar并拖放新课程以复制旧课程
答案 7 :(得分:0)
编辑jar中的properties / my_app.properties文件:
"zip -u /var/opt/my-jar-with-dependencies.jar properties/my_app.properties"
。基本上"zip -u <source> <dest>"
,其中dest相对于jar提取文件夹。
答案 8 :(得分:0)
您可以在线查找任何.jar文件的源代码,使用基本设置在IDE中导入相同的项目。在.java文件中进行必要的更改并将其编译为.class文件。
编译完成后你需要提取jar文件,用新文件替换旧的.class文件。
并使用以下命令重建.jar文件
Jar cf test.jar *
注意:我已经在我们的项目中做了这么多次更改,希望你会发现它很有用。
答案 9 :(得分:0)
高级步骤:
Setup the environment
Use JD-GUI to peek into the JAR file
Unpack the JAR file
Modify the .class file with a Java Bytecode Editor
Update the modified classes into existing JAR file
Verify it with JD-GUI
请参阅下面的链接以获取详细的步骤和方法,
https://www.talksinfo.com/how-to-edit-class-file-from-a-jar/
答案 10 :(得分:-1)
另一种方法是不替换jar文件中的.class文件。而是将其放入一个新的jar文件中,并确保它在类路径中比原始jar文件更早出现。
我不确定是否会将此推荐用于生产软件,但对于开发而言,它既快速又简单。