无法从其他java程序运行java程序
我正在尝试从另一个java程序(exec.java)运行一个java文件(editor.java)。它接受输入并显示“未找到文件”消息。请给我建议,以便我成功运行程序无法从其他java程序运行java程序,java,Java,我正在尝试从另一个java程序(exec.java)运行一个java文件(editor.java)。它接受输入并显示“未找到文件”消息。请给我建议,以便我成功运行程序 import java.io.*; public class exec { public static void main(String argv[]) { try { InputStreamReader isr=new InputStreamReader(System.in);
import java.io.*;
public class exec {
public static void main(String argv[]) {
try {
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);
System.out.println("Enter the java class name");
String s=br.readLine();
String[] cmd = {"java", "-cp", "E:\netbeans\Project\src", s};
Process pro=Runtime.getRuntime().exec(s);
try (BufferedReader in = new BufferedReader(new InputStreamReader(pro.getInputStream()))) {
String line=null;
while((line=in.readLine())!=null) {
System.out.println(line);
}
}
} catch(Exception err) {
err.printStackTrace();
}
}
java.io.IOException: Cannot run program "editor.java": CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
at java.lang.Runtime.exec(Runtime.java:615)
at java.lang.Runtime.exec(Runtime.java:448)
at java.lang.Runtime.exec(Runtime.java:345)
at project.exec.main(exec.java:18)
您需要在命令行参数中传递
.class文件
。您不能使用java
命令运行.java
文件
如果包含main方法的类是editor.class
,只需将editor
作为参数传递即可
此外,请务必遵循下面的@Azodious的答案
此外,您可能需要将数组中的路径
更改为包含类文件的路径
src
文件夹可能没有您的类文件
因此,使用:-JavaExecEditor
运行您的程序。我认为这应该行。您需要在命令行参数中传递.class文件。您不能使用java
命令运行.java
文件
如果包含main方法的类是editor.class
,只需将editor
作为参数传递即可
此外,请务必遵循下面的@Azodious的答案
此外,您可能需要将数组中的路径
更改为包含类文件的路径
src
文件夹可能没有您的类文件
因此,使用:-JavaExecEditor
运行您的程序。我认为这应该行。您没有将命令数组传递给exec
方法
将其更改为以下内容:
Process pro=Runtime.getRuntime().exec(cmd);
并且,您的错误表明您正在尝试运行src文件:
Cannot run program "editor.java"
您应该传递.class文件名来运行它。您没有将命令数组传递给exec
方法
将其更改为以下内容:
Process pro=Runtime.getRuntime().exec(cmd);
并且,您的错误表明您正在尝试运行src文件:
Cannot run program "editor.java"
您应该传递.class文件名
来运行它。在E:\netbeans\Project\src中,您只找到了源文件,源文件u无法运行
尝试在*E:\netbeans\project\build\classes*中找到的类内文件中执行
String[] cmd = {"class", "-cp", "E:\netbeans\project\build\classes\", s};
注意:检查您的课程路径
谢谢在E:\netbeans\Project\src中您只找到了源文件,源文件u无法运行
尝试在*E:\netbeans\project\build\classes*中找到的类内文件中执行
String[] cmd = {"class", "-cp", "E:\netbeans\project\build\classes\", s};
注意:检查您的课程路径
谢谢多个问题-
您正试图从命令行运行命令“editor.java”。您的命令数组仍然未使用
编译后的类是否与源代码位于同一目录中?通常,在eclipse中,类是在bin
文件夹中生成的。你应该做什么-
String[]cmd={“java”,“-cp”,“E:\netbeans\Project\bin”,s}代码>
Process pro=Runtime.getRuntime().exec代码>
您的editor.java
是否在默认包中?如果不是,则在运行命令时需要输入完全限定名
我建议尝试从命令行运行该类,然后从Java代码中形成相同的命令。多个问题-
您正试图从命令行运行命令“editor.java”。您的命令数组仍然未使用
编译后的类是否与源代码位于同一目录中?通常,在eclipse中,类是在bin
文件夹中生成的。你应该做什么-
String[]cmd={“java”,“-cp”,“E:\netbeans\Project\bin”,s}代码>
Process pro=Runtime.getRuntime().exec代码>
您的editor.java
是否在默认包中?如果不是,则在运行命令时需要输入完全限定名
我建议尝试从命令行运行该类,然后从Java代码中生成相同的命令。您是否将editor.Java
作为commadline参数传递?是的,我将editor.Java作为命令行参数传递您需要传递一个类文件。您不能使用java命令权限运行.java文件?是否将editor.java
作为命令行参数传递?是的,我将editor.java作为命令行参数传递您需要传递一个类文件。无法使用java命令权限运行.java文件?java.lang.RuntimeException:不可编译的源代码-project.exec.mainjava.lang.RuntimeException:不可编译的源代码-project.exec.maintry处表达式的非法启动仅使用:E:\netbeans\Projecttry仅使用:E:\netbeans\Project@user1758401. 首先,检查要运行的类文件的位置。然后将路径复制到代码中包含该类文件的文件夹,即所创建的cmd
数组中。现在,使用以下命令运行上述代码:-javaexeceditor
。其中我假设editor
是包含main
方法的类的名称。您可以使用相应的类文件名
@user1758401更改该名称。另外,检查您的classpath
是否包含到包含class
文件的文件夹的路径。@user1758401。首先,检查要运行的类文件的位置。然后将路径复制到代码中包含该类文件的文件夹,即所创建的cmd
数组中。现在,使用以下命令运行上述代码:-javaexeceditor
。其中我假设editor
是包含main
方法的类的名称。您可以使用相应的类文件名
@user1758401更改该名称。另外,检查classpath
是否包含包含class
文件的文件夹的路径。