我正在开发一款使用Slick2d库的游戏,我在Linux Ubuntu上使用Eclipse IDE,64位java 7。在IDE中我运行游戏时没有任何问题(java-7 64位也为项目设置),但是当我尝试运行导出的jar时,我收到以下错误:
java.lang.UnsatisfiedLinkError: no jinput-linux64 in java.library.path
我使用以下方法正确设置了natives文件夹:
System.setProperty("org.lwjgl.librarypath", "/<my_natives_folder>");
我没有“java.library.path中没有lwjgl”的问题,只有这个,并且只有当我运行导出的jar时。
我在堆栈上发现了一些类似的问题,但是它们似乎都没有解决为什么游戏在IDE中运行而没有错误而不是jar的问题。
感谢您的帮助:)
答案 0 :(得分:0)
JInput类是预先加载的,所以你不能在代码中将它设置为系统属性,需要在命令行上设置它。
我通过为应用程序启动了一个启动程序,它设置了所有属性,然后从类加载器按名称加载类,而不是导入。这意味着在加载类之前设置属性,并从这些类中静态加载库。
HTH