我需要在EJB中编辑一行代码。我将耳朵导入eclipse,但我无法弄清楚如何编辑.class文件。我可以使用Jadclipse查看它们,但我无法编辑它们。我手动编辑了.class文件并将修改后的.java文件放在EJB中并尝试导出耳朵,但它只是删除了我的.java。我想我的问题是如何将我的.java文件重新编译到我的项目中。我需要导入EAR,编辑.class文件,然后将其导出为EAR。这个项目是为我4年前签约的业务而写的。写它的开发者不再和我们在一起了。所以我只有EAR。任何帮助表示赞赏。
答案 0 :(得分:1)
给自己一个好的十六进制编辑器。
答案 1 :(得分:1)
您可以尝试使用JD之类的反编译器工具将类文件反编译回Java:
然而,分解者并不完美。他们生成的代码可能并不总是正确的,因此请谨慎使用。答案 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。