2013-04-21 74 views
1

我沒有檢查已經回答過的問題,這個問題與這個問題有幾乎相同的主題,但沒有一個回答的問題能夠解決我的問題。將eclipse項目導出到罐子

我一直在網上搜索約4小時,並試圖洙許多不同的東西來解決我的問題..

林試圖使Java中的乒乓球比賽,現在我想我的項目導出這樣我就可以將它發送給一些朋友,以便他可以嘗試。

我在這個項目中使用LWJGL,所以我確實有一些jar被添加到被引用的庫中,並且LWJGL.jar已經添加了包含在項目lib文件夾中的windows native。 下面是該項目觀看者的圖像:

原因即時發佈這個形象是讓你得到的,我已經在項目中的所有庫藏漢作爲項目所需當地人跑的想法。

一邊唸叨爲什麼罐子沒有工作,我也看了,你需要一個MANIFEST.MF文件,所以我創建了一個與此清單文件我有以下文本中:

Manifest-Version: 1.0 
Main-Class: jGame.Main 
Class-Path: lib/jars/asm-debug-all.jar lib/jars/jinput.jar lib/jars/lwjgl.jar lib/jars/izma.jar lib/jars/slick.jar 

另外2條空線下方因爲我聽說你必須擁有那個類路徑。

這個項目運行良好,只要我在eclipse中運行它,但是當我用Eclipse中的可運行jar或jar嚮導導出項目時,它不會啓動時,我雙擊.jar文件,所以我進入cmd和使用這個命令:

java.exe -jar JGame.jar 

,並顯示以下信息:

我已經ATLEAST檢查10次,我的主類提供了正確的路徑..我不知道是什麼去做了。在eclipse嚮導中,我一直試圖導出可運行jar和導出普通jar但兩者都不工作。另外在我選擇導出正常jar不能運行的嚮導的嚮導中,因爲當我選擇runnable時,庫會被搞亂,因爲lib文件夾被替換。

我試圖打開jar文件歸檔,並得到如下:

+0

嘗試打開jar文件就像存檔,看看扔它。如果你不能找到你的庫簡單地將它們添加到你放置你的jar文件的相同文件夾中 – 2013-04-21 15:22:33

+0

使用存檔內容的圖像更新主帖 @AlekseiBulgak – Rakso 2013-04-21 15:32:15

+0

我很困惑。我不知道是什麼問題 – 2013-04-21 15:42:53

回答

0

在使用JarSplice的嘗試我suceeded來解決這個問題。

看完這個:

它行不通你想的辦法目前做到這一點,因爲你需要通過有本機文件沿着側罐和點 他們'-Djava.library.path'參數。

如果您只是想要一個jar,並且想要避免命令行和本機文件使用JarSplice工具的麻煩。 JarSplice是 易於使用,並會自動處理您的本地文件的東西 你。

1)簡單地將你的項目(類和資源)導出到jar(更容易 只是通過你的IDE)。

2)然後運行JarSplice,將所需的所有罐子添加到罐子選項卡(您的 應用程序罐子,lwjgl.jar和您使用的任何其他外部罐子)。

3)然後當地人選項卡上添加所有的當地人文件(Windows * .dll文件, Linux *的。所以,MAC *名爲.dylib & * .jnilib)。

4)在類選項卡上添加您的主類。然後創建你的jar。

然後你可以通過雙擊運行這個jar(或者如果你想通過命令行使用'java -jar yourapp.jar' )。

我發現從這個鏈接此解決方案:Can't start .jar file (using LWJGL)

它之所以沒有工作第一次被我並沒有包括在使用JarSplice一個從Eclipse的出口實際.jar文件。