各位java高手,关于.jar包中的.class文件修改的问题

一个.jar包,里面有三千多个.class文件,我想修改其中一个。用过反编译成.java修改后再编译的办法,行不通,因为调用太多。请问各位高手有什么办法?十分感谢。感谢回... 一个.jar包,里面有三千多个.class文件,我想修改其中一个。用过反编译成.java修改后再编译的办法,行不通,因为调用太多。请问各位高手有什么办法?十分感谢。
感谢回答,byerain,能否说得更详细一些,例如用什么工具等。我不怎么懂得编程的。我只想修改这个包里面的一个.class文件的其中一行。

六月十五日补充:我解压后,用小颖Java源代码反编译专家把整个目录下的.class都反编译出来了,修改后,应该用什么工具来重新编译最好呢?
展开
 我来答
byerain
2007-06-15 · TA获得超过155个赞
知道答主
回答量:143
采纳率:0%
帮助的人:141万
展开全部
不要修改了,给它派生出一个子类或编辑同一个类后把源类替换掉得了。

上述方法是通过调用这个类包派生出一系列类重新生成一个JAR文件与其共用,使它达到你想要的效果,不过现在想想这个办法工作量也不小,考虑下一个试试。

你可以把他们解压出来,然后反编译你需要改动的那个类,改动期间再进行反编译需要牵涉到的类,这样就不需要全部反编辑了。

现在我还没有别的捷径,也很想知道。

六月十五日
想把它压缩成jar文件,暂且把java独立应用程序分成两种:
1)没有用到Package的普通程序;
2)有Package的,一般有多个.class文件才用的。

1)比如你写的java文件的目录是:D:\JAVA\test.java;那么你运行完会在同一目录下生成一个test.class文件,这时新建一个MANIFEST.txt文档(名字看清楚了)。
打开写入以下内容:
Manifest-Version: 1.0
Created-By: 1.5.0_08 (Sun Microsystems Inc.)
Main-Class: test
保存为MANIFEST.MF。从命令行进入到JAVA目录下,
敲入: jar cvfm test.jar manifest.mf test
这样就生成了test.jar文件,直接点击就可以运行。

2)还是这个目录:D:\JAVA\test1.java和test2.java;且两个程序都中有package com.chat,就是把生成的.class放在里面,这时的MANIFEST.MF(可以用写字板打开)
内容是:
Manifest-Version: 1.0
Created-By: 1.5.0_08 (Sun Microsystems Inc.)
Main-Class: com.chat.test1
注:test1里必须有main函数。
从命令行进入到JAVA目录下,
敲入:jar cvfm t1.jar manifest.mf com/*;test2
同理。在DOS 下
jar fc a.jar a
a 是你要打包文件夹
a.jar 是打包后的文件名 随便命名。
剑怜普2172
2007-06-14 · 超过41用户采纳过TA的回答
知道答主
回答量:162
采纳率:0%
帮助的人:0
展开全部
凉拌很好吃哦,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式