簡體   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