簡體   English   中英

jar中的System.out.println

[英]System.out.println in jar

我有這個java程序,我想在jar中打包。 它編譯得很好,它可以毫無錯誤地編譯成jar。 但是,當我雙擊它時,它不會啟動。 我知道大多數jar應用程序都使用JFrame,並且工作正常。 但它是否可以使命令提示符/ shell為基礎? (如顯示System.out.println)

例如,可以通過雙擊jar來執行此代碼:

public class Hello
{

  public static void main( String[] args )
  {
    System.out.println( "Hello, World!" );
  }
}

這樣做沒有問題。 但是你期望在哪里看到輸出?

如果你從控制台執行java -jar my jar.jar你會看到你的“Hello,World”。

如果要雙擊,則需要創建JFrame。

您可以更改jar文件的文件關聯,以使它們打開控制台。 (這適用於Windows)

  • 打開命令處理器
  • 輸入ftype jarfile
  • 你會得到類似的東西:

jarfile="C:\\Path\\To\\Java\\bin\\javaw.exe" -jar "%1 %*"

  • 輸入ftype jarfile "C:\\Path\\To\\Java\\bin\\java.exe" -jar "%1" %* (您可能需要管理員權限才能執行此操作)。

我沒有看到任何人提到明顯的解決方案:制作一個包含每個人都在談論的命令的.cmd(或.bat)文件 - java -jar YourJar.jar 您可以雙擊.cmd文件,將打開一個控制台窗口。 它會在程序退出時立即關閉,因此程序應該在退出之前等待按鍵。

當然。 首先嘗試運行您的程序如下:

java -cp yourjar.jar Main

其中Main是主類的完全限定類名。

如果這個工作正常,如果你創建了exacutable jar,請嘗試運行你的程序,如下所示:

java -jar yourjar.jar

當這是工作時,雙擊也應該工作,除非您將擴展jar映射到javaw以外的程序,默認情況下在安裝JRE時完成。

如果你想顯示“Hello,world!” 字符串您必須從命令行執行代碼:

   jar -jar your_jar_name.jar

輸出轉發到控制台,但沒有eclipse,沒有任何! 解決此問題的唯一方法是在命令提示符下啟動程序,然后您將從程序中獲取輸出。

您可以通過包含清單文件使jar成為可執行文件,該清單文件包含具有main方法的類的名稱(在您的示例中為Hello)。 是一個詳細說明您需要做什么的鏈接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM