我有一个类,当我从命令行运行它时,它只能找到一个方法。当我在JSP文件中调用它时似乎没有任何事情发生。我可以在这里遗漏一些东西吗?是否需要进行一些配置更改才能使此代码正常工作。
public static void toText(String pdfFile, String textFile) {
try {
String[] cmd = {"pdftotext", pdfFile, "/tmp/text1984.txt"};
Process p = Runtime.getRuntime().exec(cmd);
p.waitFor();
} catch (Exception e) {
System.out.print(e.getMessage());
}
}
此致 菲利
答案 0 :(得分:0)
这可能有两个原因:
您的webbrowser与web服务器不在同一台机器上运行,而您期望Web服务器中的Java也在webbrowser中运行(这最终是不真实的)。
运行JSP的servlet容器根本无法执行命令,该命令可能有很多原因,例如权限不足或命令错误。
原因#1是通过在webbrowser中运行Java代码来解决的。这可以通过签名(!)小程序来完成。至于导致#2,确定其根本原因,请阅读this article以了解如何理解和调试“Runtime.exec()什么也不做”问题。阅读全部4页。
答案 1 :(得分:0)
我认为很可能是JSP文件服务器的安全设置问题,可能是服务器(不允许执行exec调用)。因此,您必须调整服务器的安全设置以允许呼叫。
请注意,这可能存在安全风险。