0

通过使用 JRE 或其他一些运行时环境,是否可以在 Apache 或 Nginx 等 Web 服务器上编译 Java 代码?具体来说,我希望有一个可以接受用户输入(Java 代码)的 Web 应用程序,当用户点击运行时,它会将 Java 编译为 Java 字节代码并显示结果,就像 Eclipse 一样。
这种技术甚至存在吗?这是否违背了编译语言的逻辑?提前感谢您的时间。友好地,詹姆斯

4

3 回答 3

4

运行 Apache 的服务器也需要 JDK。您可以轻松地将输入写入文件、编译、运行并将结果显示给用户。这可以通过在 Tomcat 中运行的 CGI 脚本或 Java EE 应用程序或类似应用程序来完成。JDK 是必需的,JRE 是不够的。

不过,请考虑一下潜在的安全风险。根据程序实际执行的操作,它可能会导致您的机器或其他机器出现问题。

于 2012-09-16T21:08:20.103 回答
1

当然这是可能的。但是您需要一个 JDK,以及一些服务器端脚本(PHP、Ruby、Python、Java ...),它们将源代码作为输入并调用 Java 编译器来编译代码。
您必须考虑的是安全隐患。然后每个用户都可以上传代码,这些代码将在服务器上执行。因此,您必须确保代码在沙箱中运行。

于 2012-09-16T21:09:08.907 回答
1

有几个网站可以做到这一点。我用过的一个是http://www.ideone.com

您可以使用 JDK 和各种脚本来重现它,或者您可以从头开始编写自己的编译器。无论哪种方式,您都需要某种编译器来实际编译代码。

于 2012-09-16T21:10:33.430 回答