簡體   English   中英

在Eclipse中,我導出的可執行jar不會做任何事情! (LWJGL)

[英]In Eclipse, my exported executable jar doesn't do anything ! (LWJGL)

Java初學者在這里。

我在Eclipse(在Windows上)使用LWJGL lib和Slick創建了一個小型Java應用程序。 然后,當我導出為可執行的.jar文件,並運行生成的.jar時,它不會執行任何操作。 沒有錯誤,沒有任何錯誤 - 只是似乎沒有運行。 我正在學習本教程: http//www.cs.bsu.edu/homepages/pvg/misc/slick_eclipse_tutorial.php

這是我的manifest.mf文件的樣子:

Manifest-Version: 1.0
Main-Class: SimpleTest
Class-Path: lib/lwjgl.jar lib/slick.jar

不使用LWJGL導出的應用程序就好了。 我究竟做錯了什么 ?

我嘗試使用JarSplice雖然沒有用,但我可能會誤用它。 有什么指針嗎?

我最好的選擇是你錯過了在manifest -file中引用你的Main-class

看看這個,它展示了如何正確設置manifest -file。

玩得開心!

編輯:

Manifest-Version: 1.0 
Main-Class: SimpleTest 
Class-Path: lib/lwjgl.jar lib/slick.jar  
<-- new line without any content -->

編輯2:

好的,我能夠重現這種行為。 當我試圖通過控制台運行導出的jar時,我遇到以下異常:

Exception in thread "main" java.lang.reflect.InvocationTargetException
   ...
Caused by: java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path
   ... 
    ... 5 more

在做了一些研究后,我發現很難將原生dll打包到一個可執行的jar中。
為了澄清,我發現了三個選擇:

  1. 通常只需將您的jar導出為Eclipse中的Runnable JAR ,然后將其放在包含本機dll的文件夾中(選中此項,在我的教程中使用我的設置)
  2. 在執行時將你的dll提取到這里提到的臨時目錄中
  3. 或者使用One-Jar項目,它允許您使用本機庫創建可運行的jar

希望這能解決你的問題。 干杯!

我和eclipse和Slick有類似的問題,這就是我發現的。 (從LWJGL維基拉出來

我一直得到一個java.lang.UnsatisfiedLinkError:java.library.path中沒有lwjgl

這是因為未正確設置本機部分。 將-Djava.library.path = path / to / dir添加到命令行或IDE中的VM選項,以便lwjgl能夠找到包含本機文件的文件夾。

簡而言之,導出的jar缺少適當的原生代碼

現在,在編譯到一個可運行的jar時,我假設你想要一個雙擊啟動的應用程序,所以這不太可能。

您可以在使用System.setProperty啟動后設置java.library.path ,或將所需的本機放在默認庫路徑中。

我自己並沒有找到最好的解決方案,但我希望這有幫助

嘗試使用Jar Splice http://ninjacave.com/jarsplice您需要做的就是將所有.jar文件(主文件和庫)和所有DLL都給它。 它可以創建一個有效的.jar。 它還可以生成可執行文件(.exe),以及Linux和Mac等效項。

暫無
暫無

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

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