Java Jzy3d/JOGL的OSGi路径错误(找不到gluegen rt)

Java Jzy3d/JOGL的OSGi路径错误(找不到gluegen rt),java,opengl,osgi,Java,Opengl,Osgi,我目前正在开发一些OSGi应用程序,我想使用Jzy3d库来显示3D图形。基本上,这个库利用opengl for java(JOGL?) 我添加了一个特定的包,包括运行Jzy3d和导出所有org.Jzy3d.*所需的所有JAR。 从另一个包中,我尝试使用该库,但在运行时执行Chart Chart=new Chart()引发以下异常: java.lang.UnsatisfiedLinkError: no gluegen-rt in java.library.path 起初,我认为这只是由于不同包的

我目前正在开发一些OSGi应用程序,我想使用Jzy3d库来显示3D图形。基本上,这个库利用opengl for java(JOGL?)

我添加了一个特定的包,包括运行Jzy3d和导出所有org.Jzy3d.*所需的所有JAR。 从另一个包中,我尝试使用该库,但在运行时执行
Chart Chart=new Chart()引发以下异常:

java.lang.UnsatisfiedLinkError: no gluegen-rt in java.library.path
起初,我认为这只是由于不同包的不同类加载器造成的,所以我将“Util”类中的失败行移到了库包中,现在我从另一个包调用了该库包。 然而,这并没有改变任何事情:关于gluegen-rt,我总是遇到同样的错误


我已经检查了gluegen-rt.jar是否在“库包”的包类路径中。它也包含在二进制构建中(与所有其他需要的jar一样)。

java.library.path
是指向本机库的路径,因此我假设您没有设置它,或者缺少某个库。检查JOGL在操作系统和体系结构中需要哪些本机库,并提供它们的路径

在www.jzy3d.org的下载页面上有一个关于eclipse开发人员的建议。或者,您可以将本机lib放在jre/bin文件夹中,这是另一个(可能更好)建议:从jogl2 rc5开始(或者更早),本机lib都打包在jar中。我可以让windows jar在我的计算机上工作,而无需为DLL设置任何运行时目录,因此如果您没有时间等待jzy3d更新,您可以从中创建自己的jogl包。查看相关讨论:

谢谢您的帮助!由于使用了本机库,我想我在某些基本点上弄错了!将本机libs放在jre/bin中会起作用,但这是非常糟糕的做法=(为什么不好?如果我没有错的话,请在安装时查看java3d二进制文件。+1是另一个答案。依赖项应作为应用程序部署的一部分进行管理,而不是作为平台的一部分。