0

By using the JRE or some other runtime environment, is it possible to compile Java code on a web server such as Apache or Nginx? Specifically, I would like to have a web application that would accept user input (Java code), and when the user hits run, it would compile the Java into Java Byte code and display the result, like Eclipse does.
Does this sort of technology even exist? Does this defy the logic of compiled languages? Thank you for your time in advance. Amicably, James

4

3 に答える 3

4

Apacheを実行しているサーバーにもJDKが必要です。入力をファイルに簡単に書き込み、コンパイルして実行し、結果をユーザーに表示することができます。これは、Tomcatで実行されているCGIスクリプトまたはJavaEEアプリなどを使用して実行できます。JDKが必要になりますが、JREでは不十分です。

ただし、これによる潜在的なセキュリティリスクを考慮してください。プログラムが実際に何をするかによっては、あなたのマシンや他の人に問題を引き起こす可能性があります。

于 2012-09-16T21:08:20.103 に答える
1

もちろん、これは可能です。ただし、JDKと、ソースコードを入力として受け取り、Javaコンパイラを呼び出してコードをコンパイルするサーバーサイドスクリプト(PHP、Ruby、Python、Java ...)が必要です。
考慮しなければならないのは、セキュリティへの影響です。その後、すべてのユーザーがコードをアップロードでき、サーバー上で実行されます。したがって、コードがサンドボックスで実行されることを確認する必要があります。

于 2012-09-16T21:09:08.907 に答える
1

これを行ういくつかのウェブサイトがあります。私が使用したものはhttp://www.ideone.comにあります。

これは、JDKやさまざまなスクリプトを使用して再現することも、独自のコンパイラを最初から作成することもできます。いずれにせよ、実際にコードをコンパイルするには、ある種のコンパイラが必要です。

于 2012-09-16T21:10:33.430 に答える