为了账号安全,请及时绑定邮箱和手机立即绑定

Eclipse IDE中的java.io.Console支持

Eclipse IDE中的java.io.Console支持

蛊毒传说 2019-08-12 15:10:48
Eclipse IDE中的java.io.Console支持我使用Eclipse IDE来开发,编译和运行我的Java项目。今天,我正在尝试使用java.io.Console该类来管理输出,更重要的是,用户输入。问题是当应用程序“通过”Eclipse运行时System.console()返回null。Eclipse在后台进程上运行程序,而不是我们熟悉的控制台窗口的顶级进程。有没有办法强制Eclipse将程序作为顶级进程运行,或者至少创建一个JVM将识别的控制台?否则,我被迫将项目放在jar上并在Eclipse外部的命令行环境中运行。
查看完整描述

3 回答

?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

我假设您希望能够使用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 OFF
SET A_PORT=8787SET 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.调试

因此,您想要调试应用程序时所需要做的就是:

  • 设定一个断点

  • 在控制台中启动批处理文件

  • 启动调试配置


查看完整回答
反对 回复 2019-08-12
?
慕娘9325324

TA贡献1783条经验 获得超4个赞

发生这种情况的原因是因为eclipse将您的应用程序作为后台进程运行,而不是作为具有系统控制台的顶级进程运行。


查看完整回答
反对 回复 2019-08-12
  • 3 回答
  • 0 关注
  • 503 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信