我们意外地从系统中删除了一些JAVA源文件。
当我们直接从存储库中签出一个文件夹作为eclipse项目,然后试图将另一个eclipse项目中的文件夹复制到这个one.Strangely中时,所有这些文件夹文件都从本地系统中消失了(很明显,它们从未进入SVN存储库)。
不知何故,我们已经获得了一些类的.svn-base文件files.Now我们正在尝试反编译类文件,以获取回源代码。然而,当jd编译器尝试处理某些类文件时,会给出错误"invalid input file“。有没有其他的解决方案?
发布于 2012-08-01 14:28:48
据我所知,"jd-gui“是封闭的源代码,所以您可能需要联系开发人员以了解该消息的含义。(如果它是开源的,我们可以查看源代码来找出可能的问题!)
然而,从Google出现的各种问题中可以清楚地看到一件事,那就是"jd-gui“不了解如何反编译归档文件(JAR、EAR等)。因此,也许你只需要解压一些东西来让它工作。
您可以尝试的另一件事(首先)是查看"javap“如何处理"jd-gui”不喜欢的类文件。
发布于 2012-08-01 20:31:15
尝试使用JAD对文件进行反编译。
www.varaneckas.com/jad/
您可能需要解压缩您的jar文件,然后运行类似以下的命令来对它们进行反编译
find <srcdirectory> -name *.class -exec jad -s .java -r -ff -clear -debug -d <dest directory> {} \;我还没有测试上面的命令,但希望它几乎就在那里……
发布于 2020-07-08 16:40:32
对于某个类文件,我也遇到了错误"invalid input file“。我使用的是jd-gui的0.3.6版本。在下载了最新版本的jd-gui (在撰写本文时是1.6.6 )之后,我可以反编译之前失败的类文件。
因此,如果有人仍然有这个问题,如果是旧的版本,检查版本并升级是有意义的。这里有一个指向“最新版本”-download页面的链接:http://java-decompiler.github.io/
https://stackoverflow.com/questions/11753357
复制相似问题