我正在尝试使用 tomcat 运行一个 cgi 脚本 (.cgi)。我收到以下错误,无法找出问题所在。我知道我真的应该使用 apache 和 mod 代理,但这真的不是我的专业领域,所以我选择了简单的方法!
感谢您的帮助。
java.io.IOException: Cannot run program "perl" (in directory "C:\Java\tomcat\webapps\my_app_name\WEB-INF\cgi"): CreateProcess error=2, The system cannot find the file specified java.lang.ProcessBuilder.start(ProcessBuilder.java:459) java.lang.Runtime.exec(Runtime.java:593) java.lang.Runtime.exec(Runtime.java:431) org.apache.catalina.servlets.CGIServlet$CGIRunner.run(CGIServlet.java:1705) org.apache.catalina.servlets.CGIServlet.doGet(CGIServlet.java:597) javax.servlet.http.HttpServlet.service(HttpServlet.java:627) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738) org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:416)
最佳答案
这是一个猜测,但您可能需要将以下内容添加到您的 web.xml
文件中,以便 Tomcat 可以找到 perl 可执行文件。 Tomcat 不会在您的 PATH
中查找可执行文件,显然:
executable
C:\perl\bin\perl
当然,在您的系统上使用 perl 的实际路径。
关于tomcat - cgi 和 tomcat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/499456/