【问题标题】:OSGi path error with Jzy3d/JOGL (gluegen-rt not found)Jzy3d/JOGL 的 OSGi 路径错误(未找到 gluegen-rt)
【发布时间】:2012-02-02 16:09:26
【问题描述】:

我目前正在开发一些 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”类中,现在我从另一个包调用。 但是,它并没有改变任何东西:我总是遇到同样的关于 glagegen-rt 的错误。

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

【问题讨论】:

    标签: java opengl osgi


    【解决方案1】:

    java.library.path 是本机库的路径,所以我假设您没有设置它或缺少某些库。检查 JOGL 需要哪些本机库来满足您的操作系统和架构,并提供通向它们的路径。

    【讨论】:

    • 感谢您的帮助!由于使用了本地库,我想我在某些基本点上是错误的!
    【解决方案2】:

    另一个(也许更好)建议:从 jogl2 rc5(或者可能更早一点)开始,原生库被打包在 jar 中。我可以让 windows jar 在我的计算机上运行,​​而无需为 dll 设置任何运行时目录,因此如果您没有时间等待 jzy3d 更新,您可以从http://jogamp.org/deployment/archive/rc/v2.0-rc5/ 制作自己的 jogl 包。查看相关讨论:http://forum.jogamp.org/FileNotFoundException-td3654307.html

    【讨论】:

      【解决方案3】:

      在 www.jzy3d.org 的下载页面上有 Eclipse 开发者的建议。或者,您可以将本机库放在您的 jre/bin 文件夹中

      【讨论】:

      • 将原生库放在 jre/bin 中会起作用,但这是非常糟糕的做法 =(
      • 为什么不好?如果我没记错的话,java3d 二进制文件在安装时去那里。
      • +1 为您的其他答案。依赖项应作为应用部署的一部分进行管理,而不是作为平台的一部分。
      猜你喜欢
      • 2013-01-28
      • 2018-07-16
      • 1970-01-01
      • 2017-12-21
      • 2022-01-14
      • 2014-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多