有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

eclipse为什么不能在Java中运行应用程序或控制台?

我试图在2009年更新一个用Java/Eclipse编写的200000行程序

我将其导入了最新的Eclipse/Java,但存在几个问题:

  1. 下一行(在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) 个答案

  1. # 1 楼答案

    使用macOS open命令运行应用程序:

    open -a Console
    

    使用/Applications中的ls命令找不到控制台,因为Finder实际上显示了与/System/Applications合并的/Applications的内容。控制台的路径实际上是:

    /System/Applications/Utilities/Console.app/Contents/MacOS/Console
    

    这种拆分是在macOS Catalina引入的

    注意:System.console()完全是另一回事,它在Eclipse中不可用