Eclipse IDE中的java.io.Console支持
我使用Eclipse IDE来开发,编译和运行Java项目。今天,我正在尝试使用java.io.Console
该类来管理输出,更重要的是,管理用户输入。
问题是当“通过” Eclipse运行应用程序时System.console()
返回null
。Eclipse在后台进程上运行该程序,而不是在我们熟悉的控制台窗口中的顶级进程上运行。
有没有一种方法可以强制Eclipse将程序作为顶级进程运行,或者至少创建JVM将识别的控制台?否则,我被迫将项目压缩并在Eclipse外部的命令行环境中运行。
回答:
我假设你希望能够使用Eclipse的逐步调试。你可以通过在JRE类路径的bin目录中设置构建的类来在外部运行这些类。
java -cp workspace\p1\bin;workspace\p2\bin foo.Main
你可以使用远程调试器进行调试,并利用项目中内置的类文件。
在此示例中,Eclipse项目结构如下所示:
workspace\project\ \.classpath
\.project
\debug.bat
\bin\Main.class
\src\Main.java
1.在调试模式下启动JVM控制台
debug.bat是Windows批处理文件,应从cmd.exe控制台在外部运行。
@ECHO OFFSET A_PORT=8787
SET A_DBG=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=%A_PORT%,server=y,suspend=y
java.exe %A_DBG% -cp .\bin Main
在参数中,调试端口已设置为8787。在暂停= Y参数告诉JVM等到调试程序连接。
2.创建调试启动配置
在Eclipse中,打开“调试”对话框(“运行”>“打开调试对话框…”),并使用以下设置创建新的远程Java应用程序配置:
- 项目:你的项目名称
- 连接类型:标准(插座连接)
- 主机: localhost
- 港口: 8787
3.调试
因此,你想要调试该应用程序的所有时间是:
- 设定一个断点
- 在控制台中启动批处理文件
- 启动调试配置
以上是 Eclipse IDE中的java.io.Console支持 的全部内容, 来源链接: utcz.com/qa/404197.html