我在eclipse中有一个项目,当我点击运行时,它在ide中运行得非常好,但是我需要将它导出到一个可运行的jar文件中,该文件也可以正常工作。但是当我尝试运行它时会引发异常:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no j3dcore-ogl in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1856)
at java.lang.Runtime.loadLibrary0(Runtime.java:845)
at java.lang.System.loadLibrary(System.java:1084)
at javax.media.j3d.NativePipeline$1.run(NativePipeline.java:231)
at java.security.AccessController.doPrivileged(Native Method)
at javax.media.j3d.NativePipeline.loadLibrary(NativePipeline.java:200)
at javax.media.j3d.NativePipeline.loadLibraries(NativePipeline.java:157)
at javax.media.j3d.MasterControl.loadLibraries(MasterControl.java:987)
at javax.media.j3d.VirtualUniverse.<clinit>(VirtualUniverse.java:299)
at javax.media.j3d.GraphicsConfigTemplate3D.getBestConfiguration(GraphicsConfigTemplate3D.java:321)
at java.awt.GraphicsDevice.getBestConfiguration(GraphicsDevice.java:207)
at com.sun.j3d.exp.swing.JCanvas3D.<init>(JCanvas3D.java:228)
at com.sun.j3d.exp.swing.JCanvas3D.<init>(JCanvas3D.java:178)
at mainproject.MainPanel.<init>(MainPanel.java:72)
at mainproject.MainWindow.<init>(MainWindow.java:42)
at mainproject.MainWindow.main(MainWindow.java:23)
我现在谷歌搜索了2天,结果很多,没有帮助。
我通过转到file->export->java->Runnable jar file->i bubble extract required libraries into generated jar
导出它,选择正确的配置,将文件保存在指定的文件夹中,然后保存就好了。或者至少我认为。 java.library.path
转到jre lib folder
,但是当我在eclipse中运行它时会转到.so for j3d,我尝试使用System.setProperty
更改它,但没有成功。我有一种感觉就是问题,但是当我试图修复它时,没有任何反应。我正在使用最新的java3d library (1.5.2 I believe)
。
有什么建议吗?
答案 0 :(得分:0)
你可以找到有问题的好答案problems with java3D lib configuration 特别是markoz(https://stackoverflow.com/users/2657704/markoz) 和JohnnyO(https://stackoverflow.com/users/208065/johnnyo)。
答案 1 :(得分:0)
如果我设置 导出LD_LIBRARY_PATH = $ LD_LIBRARY_PATH:/ usr / lib / jni 可以。