你好我正在Eclipse中的一个项目,我正在尝试导出它,所以我可以将它发送给一些朋友。我对如何导出一无所知,所以我观看了一些YouTube视频,因为这是我能找到的关于这个话题的全部内容。视频说;
然后我试图在桌面上双击启动它,没有。然后我尝试从命令提示符“java -jar my_jar_name.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(JarRsrcLoader.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:135)
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 javaGame.Game.main(Game.java:37)
... 5 more
这是我项目中的主要方法:
仅供参考:第一行是#34行,最后一行是#43
public static void main(String[] args) {
AppGameContainer appgc;
try{
appgc = new AppGameContainer(new Game(gamename));
appgc.setDisplayMode(appgc.getScreenWidth(), appgc.getScreenHeight(), true);
appgc.start();
}catch(SlickException e){
e.printStackTrace();
}
}
如果需要更多信息,请告诉我们!
附:这是Eclipse中我想要导出的第一个Java项目,所以我以前没有这样做过。
答案 0 :(得分:1)
你可以像这样运行你的jar:
java -jar my_jar_name.jar main_class_name
main_class_name是包含主方法
的类名您还可以检查是否已成功创建包含所有依赖项的jar,以下是我添加库jar的方法:
选择项目,然后执行以下步骤:
Build Path -> Configure Build Path... -> Select Libraries tab -> Add External JARS
或者,您可以创建一个名为lib
的文件夹,并将jar放在lib
目录中,然后您可以执行以下步骤:
Build Path -> Configure Build Path... -> Select Libraries tab -> Add JARS
答案 1 :(得分:1)
您的问题与本机库有关,当您运行应用程序时,找不到所需的库。我假设你已按照
的说明进行操作http://www.lwjgl.org/wiki/index.php?title=Setting_Up_LWJGL_with_Eclipse
运行您的应用
java -Djava.library.path="<path to lwjgl native files>" -jar my_jar_name.jar
答案 2 :(得分:1)
在我刚刚发现的另一个Stack Overflow问题之后,我想出来了。我使用JarSplicer创建了一个Fat Jar,其中包含了本机到我的jar中,并且它工作得很好。我现在可以通过双击它来运行我的应用程序,它就像在Eclipse中一样运行,谢谢你的支持!