当前位置: 首页 > 知识库问答 >
问题:

在OSGi中访问LeapMotion API时发生异常\u访问\u冲突

向杜吟
2023-03-14

我试图在OSGi(Felix)中使用新的Leap运动传感器,但我最终遇到了一个异常访问冲突。

在我的清单中,我声明捆绑NativeCode如

<Bundle-NativeCode>
   x86/Leap.dll;x86/LeapJava.dll;osname=win32;processor=x86
</Bundle-NativeCode>

当然:

  • 在OSGi之外使用相同库的简单程序运行良好
  • 这两个库在“x86”文件夹中的我的包中
  • “osname=win32;processor=x86”适合我(已经用其他bunble进行了测试)

在反编译Leap Motion jar后,我看到LeapJava.dll是唯一加载的库(使用System.load库(“LeapJava”)。有没有可能他们没有正确加载他们的其他库?

知道吗?

编辑1:正如Felix开发人员所介绍的,这个链接可能会有所帮助http://wiki.osgi.org/wiki/Dependencies_In_Native_Code

共有1个答案

米景辉
2023-03-14

在尼尔·巴特利特(Neil Bartlett)的帮助下,通过阅读本地代码中的依赖项,我最终成功地在OSGi中实现了跳跃运动。

我是这么做的:

>

  • Leap.dll和LeapJava.dll都在我捆绑包中的x86文件夹中(我在WindowsXP 32位上)
  • 在我的META-INF/MANIFEST. MF中添加了以下内容:

    <Bundle-NativeCode>
        x86/Leap.dll;x86/LeapJava.dll;processor=x86;osname=win32
    </Bundle-NativeCode>
    

    在我的代码中,在创建com之前。跳跃运动。跳控制器,我给系统打了电话。loadLibrary(“Leap”)以预加载Leap。dll库。按照本机代码中的依赖项中解释的规则,我只需预加载Leap。dll,因为它是Java。dll由Leap Java API加载。

  •  类似资料:
    • 运行,我得到以下错误: 我做了问题25596504中建议的更正,特别是更改了文件至运气不好。我遵循Hartl教程第688页,该页指定将它们添加为

    • 当调用glDraweElements()时,我得到了一个错误,我不知道为什么:/I是使用OpenGL的新手,我正在尝试了解它的工作原理。 注意:我正在使用此库将OBJ文件转换为OpenGL应该能够使用的数组:https://github.com/korre/java-obj-to-opengl/blob/master/MeshObjectLoader.java

    • 我在访问paypal rest api时遇到以下错误: 数组 这个错误不是恒定的。有人能帮忙吗?

    • 我在一个普通的Java应用程序中使用两个OSGi框架。这两个框架都从共享目录加载捆绑包。 在一个包中,我从参考资料中加载了一个文件。我试过不同的方法 但我使用哪一个命令并不重要,一开始都很好。但是,在两个框架中执行了几个安装和卸载步骤之后。返回的InputStream为空。 如果只使用一个OSGi框架,我也可以正常工作。 经过一点调试,我发现包a得到了 指向正确的jar文件,但是当我在包的Bund

    • 我有一个自定义输入组件,它实现ControlValueAccessor,提供程序声明如下。它似乎工作得很好。在我能在互联网上找到的所有教程中,只要提供NG_VALUE_访问器,forwardRef就被广泛使用 将以下代码发送到生产环境是否安全?

    • 当我尝试在Eclipse中启动Server Tomcat 8时,我有以下错误: Java运行时环境检测到致命错误: pc=0x00007ffd233a2bbd,pid=6852,tid=3720 JRE版本:Java(TM)SE运行时环境(8.0_66-b18)(构建1.8.0_66-b18)Java虚拟机:Java热点(TM)64位服务器虚拟机(25.66-b18混合模式windows-amd6