java - 如何使用eclipse调用另一个java程序

标签 java eclipse

下面的代码(执行时)会提示用户输入任意java类名来执行。

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();

        Process pro=Runtime.getRuntime().exec(s);

        BufferedReader in=new BufferedReader(new InputStreamReader(pro.getInputStream()));
        String line=null;
        while((line=in.readLine())!=null) {
            System.out.println(line);
        }
        in.close();
    } catch(Exception err) {
        err.printStackTrace();
    }
}

如果我使用命令提示符并且我能够执行另一个 java 程序,则此代码可以正常工作。但是我无法使用 eclipse 执行相同的操作。输入 java 类名后没有输出或错误出现。

我是 eclipse 的新手。需要帮助。

最佳答案

您无法“执行”Java 类,因此您发布的代码无法运行。

相反,您需要执行“java”并将类路径和类名作为参数传递给它,如下所示:

String s = br.readLine();

String[] cmd = {"java", "-cp", "/some/path/to/your/jar/file", s};

Process pro = Runtime.getRuntime().exec(cmd);

关于java - 如何使用eclipse调用另一个java程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7812978/

相关文章:

java - servlet 中的 JDBC

java - 如何使用 IDE 在 Java 中快速运行静态代码片段?

java - 将依赖项目添加到类路径的更好方法?

java.util.Iterator 但无法导入 java.util.Iterator

java - java/eclipse中的数据断点

java - 如何为 Eclipse 配置 tomcat java?

在 MacOS X 10.9 上安装 Java 1.8 - 缺少 JavaVM 链接

java - Lucene:从索引中删除,基于多个字段

java - 上下文在Fragment中返回null

java - 如何在jsp-servlet中的请求页面的同一页面上显示结果