java - 在服务器上使用 Runtime.exec 执行二进制 java 文件

标签 java jsp cmd

我正在尝试构建一个用jsp编写的在线java编译器,其中服务器端接受客户端上传的代码,编译它们,然后运行代码,最后将输出以html形式打印给用户。 我编写了一个代码,创建一个临时java文件(temp.java),其中包含来自客户端的代码,然后编译它,创建(temp.class)文件, 问题出在最后一步,当我尝试执行该文件时,当我使用本地计算机 cmd 时,它运行正常:

java temp

但是当我使用 java runTime 在服务器上调用命令时,如下所示:

Process proc = Runtime.getRuntime().exec("java testing/temp");

输出是:

Error: Could not find or load main class temp

问题是,运行时找不到二进制文件.. 那么路径是什么? 编译器位于包含 java 文件的包中,而客户端二进制文件被创建并存储在 build/web 的文件夹(testing)中..

最佳答案

尝试提供您的类(class)的完整路径。我认为应该有帮助。

关于java - 在服务器上使用 Runtime.exec 执行二进制 java 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34865482/

相关文章:

java - Cloudera、Oracle JDK 和 Open JDK

java - 不能显示多个错误消息。 Java 小服务程序

batch-file - 从远程桌面复制到本地机器的批处理文件

java - 将库添加到 java.library.path

windows - 统计以特定字符开头的子目录并在windows中指定长度

Java SQL 数据库独立性

java - java IF 语句条件中一个非常简单的程序的问题被忽略

java - 延迟向文件写入几行

java - MySQL 与 JSP 的连接错误

java - 如何在 Struts 2 标签内设置 Struts 2 对象(a href)