2011-07-17 116 views
3

我創建了一個可執行的Java .jar文件。也就是說,我properly packaged a java program inside a .jar file, including a META-INF/MANIFEST file在Linux中執行jar文件

(順便說一句,在大多數Windows機器上使用Java安裝,.jar文件註冊爲類似javaw.exe -jar %1運行,所以你可以在已經以這種方式編制只需雙擊罐子。)

我只是複製將相同的文件放入Linux並試圖做同樣的事情。

但是,當我點擊該文件時,只是將jar打開爲zip文件,而不是調用java。

如何配置我的Linux系統,以便在雙擊jar文件時執行jar內的程序?也就是說,當我雙擊test.jar時,如何讓我的系統調用類似java -jar test.jar的東西?

+0

什麼linux? ubuntu,fedora,debian,mandriva,mint?什麼桌面? kde,gnome,...?什麼文件管理器?鸚鵡螺? Konqueror的?他們所有的版本是什麼? – marc

+0

如果您仍未找到如何配置桌面的解決方案,請查看unix.stackexchange.com(適用於Linux),superuser.com(更常規)或askubuntu.com(如果您要配置您的Ubuntu系統)。您可以使用*標記*鏈接將此問題標記爲遷移。 –

+0

對於未來的求職者:您可能正在尋找'binfmt_misc'。 http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/java.txt?id=HEAD – daveloyall

回答

4

嘿,什麼@marc是想說在他的評論是,你如何做到這一點可能是非常不同的,這取決於你的linux風格。一般來說,您只需要找出如何更改默認的「打開方式」行爲以適應您使用的任何口味。您需要告訴它使用Java打開jar文件,而不使用歸檔程序。

3

就我個人而言,我會離開jar文件並創建一個腳本,當它被點擊時執行該命令,然後我只需點擊它。

你在linux中使用了什麼窗口管理器/桌面?您可能會配置對jar文件進行點擊的默認操作。

4

一種可能的方法是製作一個帶有該命令的文本文件java -jar test.jar,然後給該文件執行權限。將它命名爲test那麼你會雙擊該文件(或通過命令行只需鍵入./test

5

使你的文件可執行:

sudo chmod +x test.jar 
+0

如果在內核中沒有對zip頭的特殊處理,通常設置可執行標誌並不會真正導致jar文件實際可執行。 –

+0

我認爲'chmod + x test.jar'就夠了。沒有root權限('sudo')。 – VasyaNovikov