我在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。我仍然无法找到解决方案。
答案 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
在代码中可见。