eclipse为什么不能在Java中运行应用程序或控制台?
我试图在2009年更新一个用Java/Eclipse编写的200000行程序
我将其导入了最新的Eclipse/Java,但存在几个问题:
下一行(在2009年运行)生成一条错误消息
try { consoleProcess = Runtime.getRuntime().exec("/Applications/Utilities/Console.app/Contents/MacOS/Console"); } catch (Exception err) { err.printStackTrace(); }
错误消息为“java.io.IOException:无法运行程序”/Applications/Utilities/Console。app/Contents/MacOS/Console”:错误=2,没有这样的文件或目录 在爪哇。base/java。lang.ProcessBuilder。开始(ProcessBuilder.java:1142)”
但是,文件肯定在那里,它显示在finder中(虽然不是在终端窗口的“ls”命令中,我也希望获得输入)我可以点击并运行它。我也不能这样运行BBEdit:但是我可以使用类似的代码运行open/runxquartz
我开始尝试用下面的代码打开一个控制台来解决这个问题,但是会产生错误消息“控制台为空”
import java.io.Console;
Console console = System.console();
if(console == null) {
System.out.println("The console is NULL");
}
else
{
String ch=console.readLine();
}
非常感谢
# 1 楼答案
使用macOS
open
命令运行应用程序:使用
/Applications
中的ls
命令找不到控制台,因为Finder实际上显示了与/System/Applications
合并的/Applications
的内容。控制台的路径实际上是:这种拆分是在macOS Catalina引入的
注意:
System.console()
完全是另一回事,它在Eclipse中不可用