如何编辑EAR文件中的java类文件

时间:2011-06-23 19:00:20

标签: java eclipse ejb ear

我需要在EJB中编辑一行代码。我将耳朵导入eclipse,但我无法弄清楚如何编辑.class文件。我可以使用Jadclipse查看它们,但我无法编辑它们。我手动编辑了.class文件并将修改后的.java文件放在EJB中并尝试导出耳朵,但它只是删除了我的.java。我想我的问题是如何将我的.java文件重新编译到我的项目中。我需要导入EAR,编辑.class文件,然后将其导出为EAR。这个项目是为我4年前签约的业务而写的。写它的开发者不再和我们在一起了。所以我只有EAR。任何帮助表示赞赏。

5 个答案:

答案 0 :(得分:1)

给自己一个好的十六进制编辑器。

答案 1 :(得分:1)

您可以尝试使用JD之类的反编译器工具将类文件反编译回Java:

http://java.decompiler.free.fr/

然而,分解者并不完美。他们生成的代码可能并不总是正确的,因此请谨慎使用。

答案 2 :(得分:0)

您不编辑.class文件。这是您编辑的.java文件,然后编译成.class文件。我假设.java文件也必须在那里,如果你可以查看和更新​​。当然,尝试将.java放回并导出是没有意义的,因为运行时需要.class。

当然,如果它是EAR中的EJB代码,很可能它是生成的代码,或者必须通过EJB编译器运行以生成适当的EJB的代码。

答案 3 :(得分:0)

您无法编辑类文件,但可以尝试在运行时编辑字节码,尝试javassist

答案 4 :(得分:0)

EAR文件只是一个zip文件。将其重命名为.zip,您可以在WinZip或其他任何地方查看它 然后,如果你很幸运,你可以反编译文件,并为文件制作所需的任何mod(我说幸运,因为它取决于文件的编译方式,模糊处理或没有任何调试信息)。
使用ANT重建EAR(参见How do I create an EAR file with an ant build including certain files?或其他一些资源)
你应该好好去,只需重新部署新的EAR。