ProcessBuilder没有在java eclipse luna中正确执行程序

时间:2014-10-01 09:49:56

标签: java eclipse

我在java中用ProcessBuilder创建了一个程序。以下是该计划。我在Eclipse IDE中创建了该程序。执行程序时显示错误。

//Demonstrate ProcessBuilder.
public class ProcessBuilder
{
    public static void main(String[] args) 
    {
        ProcessBuilder proc=new ProcessBuilder("notepad.exe","testfile");
        try
        {
            proc.start();           
        }
        catch(Exception e)
        {
            System.out.println("Error executing notepad.");
        }

        ProcessBuilder pb = new ProcessBuilder("java", "MyTest");
        try 
        {
            pb.start();
            System.out.println("Process has been started.");
        } 
        catch(IOException e)
        {
            e.printStackTrace();

        }
    }

系统显示构造函数ProcessBuilder未定义。我安装了java 7,安装了jre 1.7。我仍然无法找到解决方案。

3 个答案:

答案 0 :(得分:2)

正如其他人所说,最好的选择是rename你的班级名称,其他选项是

java.lang.ProcessBuilder proc=new java.lang.ProcessBuilder("notepad.exe","testfile");

java.lang.ProcessBuilder pb = new java.lang.ProcessBuilder("java", "MyTest");

因此,您明确告诉javac使用ProcessBuilder包中的java.lang

答案 1 :(得分:0)

您调用了自己的类ProcessBuilder,因此它隐藏了库类。打电话给你自己的班级。

答案 2 :(得分:0)

您的班级ProcessBuilder没有构造函数ProcessBuilder(String...command)。我的猜测是你想为java.lang.ProcessBuilder编写一个演示。使用相同的演示名称和您尝试使用的类会让人感到困惑。

我建议将您的班级重命名为ProcessBuilderDemo。这将使java.lang.ProcessBuilder在代码中可见。