繁体   English   中英

Java:System.out.println()应该写入控制台,但它不会

[英]Java: System.out.println() should write to the console, but it doesn't

我正在尝试编写Java控制台应用程序,代码很简单:

public class ConsoleTest {
    public static void main(String[] args) {
        System.out.println("test");
    }
}

如果我从Eclipse运行这个应用程序,那么我在Eclipse的“控制台”中看到“ test ”,但是如果我将我的应用程序导出为“ Runnable JAR文件 ”并从Windows XP cmd.exe运行它,那么没有任何内容回显到控制台。

在安全方面,我试图检查System.console() ,它返回null

有什么不对?

你是如何在日食之外运行你的程序的?

你应该使用命令行

java -jar yourjar.jar

要么

java -cp yourjar.jar ConsoleTest

如果您偶尔使用javaw则不会生成控制台输出。 javaw的STDOUT为null 可能这是当你点击你的jar文件时会发生的事情。

您需要从命令行运行jar文件。

如果双击它,您将无法看到在后台运行的命令行操作。 Jar文件通常只在涉及GUI时双击才能运行。

要从命令提示符运行jar文件,只需执行以下操作:

java -jar ConsoleTest.jar

假设您已为java.exe设置环境变量,并且当前目录具有jar文件。

如果这不起作用,则可能不是您的代码的错。 指向Main类的清单文件也可能设置错误。

尝试从命令行将其编译为一个类,然后运行它。 那样有用吗?

javac ConsoleTest.java
java ConsoleTest

有可能你的runnable jar文件没有按预期工作,并且实际上并没有运行你的ConsoleTest类。

就像Hovercraft Full Of Eels编写的那样,使用cmd.exe使用以下命令编译.java文件:

javac ConsoleTest.java

然后这将创建一个.class文件,我们想用这个命令编译它:

java ConsoleTest

然后应该显示“测试”输出。

您必须安装java jdk并将包含文件java.exe的目录的根目录添加到系统的目录中,您将在jdk的安装指南中找到更多信息。

然后使用该命令在控制台中运行该文件

> java file.java

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM