Java:没有Eclipse运行程序

时间:2012-11-25 13:01:31

标签: java eclipse

我做了一个使用外部库和资源文件的游戏。现在我想在另一台PC上测试它(使用Ubuntu OS),我尝试通过导出到jar文件而不使用eclipse运行它,但它不起作用。这是层次结构。有没有简单的方法呢?

修改 当我将其导出为Runnable时(请注意,我试图在Windows上运行它而不是ubuntu )jar文件并尝试运行它java -jar gra.jar它会抛出:

`Exception in thread "main" java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        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(ClassLoader.java:1860)
        at java.lang.Runtime.loadLibrary0(Runtime.java:845)
        at java.lang.System.loadLibrary(System.java:1084)
        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:132)
        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 MainWindow.main(MainWindow.java:14)
        ... 5 more`

3 个答案:

答案 0 :(得分:0)

确保您{0}正确,而不是在本地文件系统中引用它们。

确保将资源放入JAR getting your resource files

答案 1 :(得分:0)

Caused by: java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path

找不到

lwjgl。它应该位于java.library.path

中列出的目录之一

在设置项目时,您肯定会将java.library.path的目录添加到jwgl的本机dll中。 Eclipse无法导出此内容。您将不得不创建一个添加dll的启动脚本(sh,bat)。

看看这里的最后一步: http://www.lwjgl.org/wiki/index.php?title=Setting_Up_LWJGL_with_Eclipse

答案 2 :(得分:0)

你是怎么收拾罐子的?如果你只使用eclipse,你应该使用jarsplice。这可能会解决错误