繁体   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