在applet或Google AppEngine中托管Java编译器?

在网上搜索我发现Javac编译器是用Java编写的,我也在Sun的网站上查看源代码。 来源非常大,我无法取得任何进展。 此外,Eclipse项目内嵌了一个编译器,但是谁可以触摸它的源代码;-)。

所以我想我会按你的方式提出几个问题:

  1. Java编译器可以托管在Applet中吗?
  2. 是否可以使Java编译器在GAE上工作,从数据存储中动态加载生成的类文件?

是的,编译器本身只是一个普通的Java应用程序(除了它通常带有自己的本机启动器,但这不是必需的)。

因此,您可以在Applet或GAE内轻松运行它。

然而 ,这实际上并没有太大的帮助,因为如果你想实际运行生成的类,那么你需要使用ClassLoader实例,这些实例在(unsigned)Applet中是不允许的,并且可能在GAE中不允许。

..可以将Java编译器托管在applet中吗?

仅当您将tools.jar添加到applet的运行时类路径时。 有关详细信息,请参阅在STBC帮助中将编译器添加到应用程序的运行时类路径 。

..Could java编译器可以在GAE上工作,..

不确定,但请注意,似乎有人注册了Google应用。 名为’javacompiler’。 ;)