4

我在 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转到.so,但是当jre lib folder我在eclipse中运行它时,它转到j3d的.so,我尝试使用更改它System.setProperty但没有成功。我有一种感觉是问题所在,但是当我试图解决它时,什么也没发生。我正在使用最新的java3d library (1.5.2 I believe)

有什么建议么?

4

1 回答 1

0

如果我设置 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/jni 它可以工作。

于 2020-04-03T13:09:46.753 回答