怎么修改jar包中的class文件然后再重新打成jar包

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么修改jar包中的class文件然后再重新打成jar包相关的知识,希望对你有一定的参考价值。

1.以MyEclipse为示例。首先打开软件,创建工程如下图所示。

2.步骤1后,为创建的javaProjection设置名称、位置、JRE等,如下图所示。最后点击finish。

3.创建class文件如下图所示,在src文件夹上右键选择【New】-【class】。

4.步骤三创建好class文件后,写入代码后,鼠标右键选择【Export】。

5.  步骤4中弹出的【Export】窗口中选择Java->jar file,点击Next。

6.步骤5后,在弹窗中在下图所示的位置,点击【Browser...】设置输出路径,然后点击【Next】(一直选择next直到结束)或者【Finish】(直接结束)。

7.弹出下图所示的【JarExport】,选择ok即可。

8.打包输出的jar文件如图所示。

参考技术A

该过程需要经历四个步骤:解压,反编译,修改,打包。

    解压:jar文件和我们平常的rar和zip文件一样是属于压缩文件,通过一般的解压缩工具(例如:winrar)都能解压。解压之后生成的文件为**.class的字节码文件。

    反编译:互联网上有很多的字节码文件反编译工具(例如:jad)。他能够将**.class文件或者直接能够将jar文件反编译为**.java文件。

    得到java文件以后就可以修改里面的源代码了。

    将修改好的代码编译成**.class字节码文件以后再添加替换掉原来jar包中的class文件,或者重新将修改后的java代码转换成java工程,再生成jar文件都行。


这个过程的完成需要熟悉java基础,编译环境等相关知识。尤其是对jar包的理解很重要。反编译在互连网上就能直接找到很多工具。打包则很简单不做累述。

参考技术B 该过程需要经历四个步骤:解压,反编译,修改,打包。
解压:jar文件和我们平常的rar和zip文件一样是属于压缩文件,通过一般的解压缩工具(例如:winrar)都能解压。解压之后生成的文件为**.class的字节码文件。
反编译:互联网上有很多的字节码文件反编译工具(例如:jad)。他能够将**.class文件或者直接能够将jar文件反编译为**.java文件。
得到java文件以后就可以修改里面的源代码了。
将修改好的代码编译成**.class字节码文件以后再添加替换掉原来jar包中的class文件,或者重新将修改后的java代码转换成java工程,再生成jar文件都行。

这个过程的完成需要熟悉java基础,编译环境等相关知识。尤其是对jar包的理解很重要。反编译在互连网上就能直接找到很多工具。打包则很简单不做累述。
参考技术C 可以用7-zip、winzip等解压缩工具打开jar文件,然后将你要替换的class文件拖进去就行了。不过,强烈建议你在开发工具里改好代码,重新编译打包。本回答被提问者采纳

请问大家,能不能修改jar包中已有的文件呢?

如题,谢谢。
额。在程序中,,,通过程序,不是通过解压再重新打包。。。

可以。修改完后,自己重新打包(用7z,可以只更新包中某个文件),或放在classes中。追问

额。在程序中,,,通过代码,不是通过解压再重新打包。。。

参考技术A 能,先解压,打开然后修改,保存,再压缩就可以了 参考技术B JAVA是可以操作压缩文件的,可以通过程序去改压缩文件中的内容,具体实现,你可以去查找相关的API

可以先解压文件,修改完了,再重新压缩
参考技术C 这个必须能啊。。。 参考技术D 使用classloader

以上是关于怎么修改jar包中的class文件然后再重新打成jar包的主要内容,如果未能解决你的问题,请参考以下文章

怎么修改jar包中的class文件然后再重新打成jar包

怎么替换指定jar中的class文件

各位大侠。怎么修改jar文件中的class文件后再打包成jar文件。摆脱了

请问大家,能不能修改jar包中已有的文件呢?

怎么修改jar包中的class文件然

一个jar包,其中有个a.class和a$1.class,如何修改