通过POST调用找不到java

时间:2013-02-11 20:59:22

标签: java post cgi javac

我继承了以前能够从HTML表单(通过POST)接收信息的旧Perl CGI脚本,并使用该表单数据编译一些java源文件(最终创建Java applet)。它们不再编译,我需要找出原因。

最明显的问题(虽然我不知道改变了什么让它从工作变为不工作)是CGI脚本找不到java编译器(sh:/ usr / bin / javac:没有这样的文件或目录)它由提交的HTML表单调用。

我在CGI脚本中插入了一个调用来编译一个简单的java文件(/usr/bin/javac ./HelloWorld.java),它精确地模仿了对失败的大java文件(需要从POST数据设置参数)的调用。所以我希望如果我能够提交HTML表单来编译我的HelloWorld文件,那么它也可以编译需要参数的大文件。

当我从命令行调用CGI脚本时,找到java编译器并编译我的HelloWorld java文件,但是当我使用HTML表单时,找不到java(即使/usr/bin/java -version什么都不做)。我的编译语句在CGI脚本中的放置并不重要(所以它不是编译语句与我的HTTP请求处理相关的问题),它总是在被调用时编译命令行,并且在表单调用时无法找到java。

有没有理由在表单(POST)调用时CG对CGI脚本不可见,但在命令行调用时是否可见?

提前致谢! 伯尼

1 个答案:

答案 0 :(得分:0)

Apache和CGI周围的环境与交互式控制台不同。

您可以尝试使用指定的所有路径编写基本的Bourne shell脚本(sh)。

真的需要从表单中即时编译Java吗?

我很好奇:为什么?