2015-09-15 45 views
1

我正在開發一個需要LWJGL的項目,並且試圖讓項目啓動並運行,並且已經設置了獲取JVM啓動參數的方法。如何在Eclipse中設置JVM啓動參數?

爲LWJGL的文檔內容如下:

設置-Djava.library.path系統屬性(如一個JVM啓動參數)到包含文件夾本地文件

的我得到的錯誤是:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path 
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1857) 
    at java.lang.Runtime.loadLibrary0(Runtime.java:870) 
    at java.lang.System.loadLibrary(System.java:1119) 
    at org.lwjgl.LWJGLUtil.loadLibrarySystem(LWJGLUtil.java:337) 
    at org.lwjgl.Sys$1.run(Sys.java:36) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at org.lwjgl.Sys.<clinit>(Sys.java:33) 
    at HelloWorld.run(HelloWorld.java:24) 
    at HelloWorld.main(HelloWorld.java:114) 

我已經將LWJGL jar添加到Properties - > Java Build Path - > Libraries中。

我已經做了一些查詢來弄清楚如何設置JVM啓動參數,並且缺少一些明顯的東西。我是新來的用Java構建項目的配置。有任何想法嗎?謝謝。

更新

一些有用的答案後,我添加了一個系統變量進入我跑的配置和我仍然得到同樣的錯誤。這是我的運行配置的屏幕截圖。

enter image description here

此外,也可能是重要的信息,我的LWJGL罐子位於我的項目文件夾。

+0

可能dublicate:http://stackoverflow.com/questions/19344914/getting-java-lang-unsatisfiedlinkerror-no-lwjgl-in-java-library-path – soorapadman

回答

2

右鍵單擊鼠標 - >運行配置... - >參數,然後按以下屏幕截圖進行操作。

enter image description here

希望這有助於。

+0

這並(+1),雖然我我仍然得到錯誤,我已經更新了我的帖子。 – Unome

+0

進一步搜索後,我沒有將本機文件添加到項目中,我只添加了JAR。加入jar後,這個解決方案效果很好。謝謝! – Unome

3

您可以直接在您的代碼中設置系統屬性,使它們在eclipse外工作。

public class Main { 
    static { 
     final String PATH_TO_NATIVES = /*...*/; 
     System.setProperty("java.library.path", PATH_TO_NATIVES); 
    } 
} 

你應該在任何其他行動做到這一點,所以把它放在一個靜態塊中的主類(如上面的代碼),或在你的主要方法的開始。順便說一下:你也可以設置org.lwjgl.librarypath來代替,這是更具體的(雖然這兩個屬性都可以)。

編輯: 從3.0.0b版本37開始,可以在運行時使用新的Configuration類來設置這些屬性。

public class Main { 
    final String PATH_TO_NATIVES = /*...*/; 
    Configuration.LIBRARY_PATH.set(PATH_TO_NATIVES); 
} 
+0

+1。這兩個答案都是正確的,但是這個答案允許你爲每個操作系統選擇不同的本機,允許不僅僅是windows的兼容性。它也可以在Eclipse之外使用。 – Joehot200

+0

我試圖實現這個方法,並有幾個問題。首先,我將代碼放置在代碼頂部的靜態塊中,但它仍然給出錯誤。我已經嘗試了文件夾「TestProject」和jar的實際路徑。我假設我試圖給出一個路徑的本機文件是lwjgl jar嗎?任何想法我做錯了什麼? – Unome

+0

@Unome您必須將路徑設置爲包含擴展名爲'.dll','.so'或'.dylib'的文件的文件夾。在下載的zip文件中應該有一個名爲'native'的文件夾,其中包含這些文件。請注意,在LWJGL 2中有幾個子文件夾,因此您必須爲您的操作系統選擇正確的子文件夾(這有助於以編程方式設置系統屬性)。 – javac