0

HTML フォームから (POST 経由で) 情報を受信し、そのフォーム データを使用していくつかの Java ソース ファイルをコンパイルする (最終的に Java アプレットを作成する) ことができた従来の Perl CGI スクリプトを継承しました。それらはもうコンパイルされません。その理由を突き止める必要があります。

最も明白な問題 (動作から動作しないようにするために何が変更されたかはわかりませんが) は、CGI スクリプトが Java コンパイラ (sh: /usr/bin/javac: No such file or directory) を見つけられないことです。送信された HTML フォームによって呼び出されます。

CGI スクリプトに呼び出しを挿入して、単純な Java ファイル ( /usr/bin/javac ./HelloWorld.java) をコンパイルしました。このファイルは、失敗した大きな Java ファイル (POST データからパラメーターを設定する必要があります) への呼び出しを正確に模倣します。したがって、HelloWorld ファイルをコンパイルするための HTML フォームの送信を取得できれば、パラメーターを必要とする大きなファイルもコンパイルできるようになることを願っています。

コマンド ラインから CGI スクリプトを呼び出すと、Java コンパイラが見つかり、HelloWorld Java ファイルがコンパイルされますが、HTML フォームを使用すると、Java が見つかりません (何も/usr/bin/java -versionしません)。CGI スクリプト内のコンパイル ステートメントの配置は問題ではありません (したがって、HTTP 要求の処理に関してコンパイル ステートメントがどこにあるかは問題ではありません)。フォームから呼び出されたときに Java を検索します。

フォーム (POST) によって呼び出されたときに Java が CGI スクリプトに表示されないが、コマンド ラインによって呼び出されたときに表示される理由はありますか?

前もって感謝します!バーニー

4

1 に答える 1

0

Apache と CGI の周りの環境は、対話型コンソールと同じではありません。

すべてのパスを指定して、基本的な Bourne シェル スクリプト (sh) を作成してみてください。

フォームからオンザフライで Java をコンパイルすることは本当に必要ですか?

私は興味があります:なぜですか?

于 2013-02-11T21:04:48.213 に答える