【问题标题】:Compile(decompile) to the single .java file [closed]编译(反编译)到单个 .java 文件 [关闭]
【发布时间】:2013-04-12 18:33:35
【问题描述】:

是否可以将整个项目(或 .jar)编译为单个 .java 文件?它不需要美观和可读。

【问题讨论】:

  • “是否可以将整个项目(或 .jar)编译为单个 .java 文件?”这样做有什么意义?
  • 这不是合法的 Java,除非整个源代码都在一个 .java 文件中。
  • @AndrewThompson 有一些网站,我需要在其中发布单个 .java 文件。
  • “某个网站” 哎呀。你能帮我模糊一下吗,它有包含信息的危险。这个网站的网址是什么?
  • @duffymo 这就是重点,将所有内容移动到一个源文件中。

标签: java jar


【解决方案1】:

单个 Java 源文件会施加​​以下限制:

  • 不使用 (public) 接口1
  • 要求没有 bean(它们本身必须是公共类)。
  • 最大大小限制(Java 类文件有大小限制 - 每个类文件从内存中大约 65Kb)。
  1. @gustafc 接口不必是公共的。

所以我会说,一般不会。

【讨论】:

  • 反编译.class文件时是否使用了这些接口? .class 有限制,但 .java 会编译成单个 .class 文件吗?
  • 第一个问题没看懂。单个 Java 文件将编译成与源文件中声明的类一样多的类。
  • 假设我在某些使用接口的包上使用了java.decompiler.free.fr/?q=jdgui。它会反编译回接口吗?
  • 我想是的,但从未使用过反编译器,更不用说那个了。
  • @AndrewThompson 接口不必是公开的。 echo 'interface I{}class C{public static void main(String[] args){System.out.println("It works!");}}' > I.java && javac I.java && java C 工作正常。
猜你喜欢
  • 2010-09-21
  • 2015-10-26
  • 2014-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-13
相关资源
最近更新 更多