簡體   English   中英

將帶有庫的項目導出到Eclipse中的可運行jar

[英]Exporting project with libraries to runnable jar from Eclipse

我試圖導出我正在研究的游戲測試(使用Slick庫),發送給沒有任何IDE的合作伙伴,在eclipse中導出一切順利,但是當我嘗試從命令運行它時提示,這是我得到的回報。

C:\Users\Noah\Desktop>java -jar test.jar
Exception in thread "main" java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoa
der.java:58)
Caused by: java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path
        at java.lang.ClassLoader.loadLibrary(Unknown Source)
        at java.lang.Runtime.loadLibrary0(Unknown Source)
        at java.lang.System.loadLibrary(Unknown Source)
        at org.lwjgl.Sys$1.run(Sys.java:73)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.lwjgl.Sys.doLoadLibrary(Sys.java:66)
        at org.lwjgl.Sys.loadLibrary(Sys.java:95)
        at org.lwjgl.Sys.<clinit>(Sys.java:112)
        at org.lwjgl.opengl.Display.<clinit>(Display.java:141)
        at org.newdawn.slick.AppGameContainer$1.run(AppGameContainer.java:39)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.newdawn.slick.AppGameContainer.<clinit>(AppGameContainer.java:36)

        at org.nor.Main.main(Main.java:16)
        ... 5 more

C:\Users\Noah\Desktop>

什么出了什么問題?

注意:該項目在日食中運行得非常好。

您還需要本機lwjgl庫並指向它。 Export Jar功能無法處理此問題。

閱讀lwjgl手冊,了解如何執行此操作。

如果您打算使用它,您應該閱讀光滑的“入門”指南。 Slick有幾個使用dll與opengl通信的依賴項。 您需要指定這些dll的保存位置,以便這些依賴項可以加載dll。 我發現這個鏈接可能會幫助你做到這一點..

您必須將您的罐子添加到:

  • java調用中的類路徑

  • 主罐子的Manifest.mf

Java將不會自動加載您的jar,直到它們位於其中一個位置。

嘗試使用文件 - >屬性 - > Java構建路徑 - >訂單和導出

暫無
暫無

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

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