是否可以在Web服务器上编译Java?

时间:2012-09-16 21:05:24

标签: java apache nginx webserver

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

3 个答案:

答案 0 :(得分:4)

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

尽管如此,考虑潜在的安全风险。根据程序实际执行的操作,可能会导致计算机或其他设备出现问题。

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

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