Dyi*_*yin 11 java scala jar class
我正在尝试从Java程序中检索任何类(如果可用)的源代码以进行调试.假设我有Class[_]我想要检索源代码的参考.
我到目前为止所做的尝试 - 在Scala中:
val clazz = classOf[ClassDefinedInSeparateFile]
clazz.getProtectionDomain.getCodeSource.getLocation.toString + "/" +
clazz.getPackage.getName.replaceAll("\\.","/") + "/" + clazz.getSimpleName + ".scala"- 看起来没问题,JAR在那里并包含.scala文件,但无法打开使用Source.fromFile(...)."/" + clazz.getPackage.getName.replaceAll("\\.","/") + "/" + clazz.getSimpleName + ".scala" - 看起来不错,但无法打开使用 Source.fromInputStream(...)备注:
.java或.scala文件,因此不需要反编译器.(至少对于应用程序的源代码,而不是依赖项.如果应用程序源代码可以访问代码段,那就足够了 - 大多数异常都会在应用程序级别捕获并在那里相关.)谢谢.
如果您想获得与 Java 原始源代码类似的东西,您需要一个 Java 反编译器。
您将无法访问源代码(您的可执行程序由Java 字节码组成,而不是 Java 源代码)。