2013-03-27 144 views
1

我有一個.jar文件,它從當前文件夾中讀取兩個文件,併產生一個.txt文件和一個單獨的文件夾以及多個其他.txt文件。在Linux上運行.jar文件

static String dir = System.getProperty("user.dir"); 

我用這裏的指示:此使用此代碼來創建目錄工程完全在Windows https://askubuntu.com/questions/192914/how-run-a-jar-file-with-a-double-click建立我的.jar文件,以一個簡單的雙擊,但截至目前運行,它雙擊時不執行任何操作。我的猜測是,上面的代碼行不能很好地轉換成Linux。任何人都知道如何解決這個問題?

+1

你是如何建立路徑? – 2013-03-27 16:35:10

+1

你有什麼異常?嘗試先通過終端運行它來查看。使用GUI運行jar會掩蓋錯誤。 – Jops 2013-03-27 16:39:40

回答

8

首先,嘗試運行它的命令行,與

java -jar <file.jar>

user.dir屬性是跨平臺(見here),所以它不應該成爲問題。但是,你使用正確的文件分隔符?記住它在UNIX上是'/'和在Windows上是'\'。

1

嘗試Java的罐子Jarname.jar和該命令

1

你給Linux上的精品工程的代碼行後通過的其他文件作爲參數。

我最好的猜測是你然後試圖通過添加一個特定於Windows的路徑分隔符(比如path +「\ subdir」)來嘗試使用這個目錄路徑,這不適合於linux(你應該建立一個新的文件對象)。

要麼,要麼你的jar文件根本沒有被執行。你有沒有嘗試過在jar文件中做一些非常簡單的事情來查看是否有任何東西在運行?您是否嘗試過使用java -jar myapp.jar運行您的jar來查看是否有任何異常或顯示錯誤消息?

0

您需要手動調整構建過程才能將jar文件標記爲可執行文件。在構建xml文件中,有一個目標「-post-jar」,在構建jar之後調用。您需要製作該目標並使用Ant的chmod任務來修改您的jar。一旦你這樣做了,每當你在那個項目中創建一個jar文件,它就會發生。

只要您安裝了JRE,它就會正常運行。

Read this article to know more