加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 在Linux上使用Bundle-NativeCode不起作用

发布时间:2020-12-15 01:10:24 所属栏目:Java 来源:网络整理
导读:我创建了一个包含以下文件夹结构的插件: src native / so / libsystemcommand.so META-INF / MANIFEST.MF 清单包括命令 Manifest-Version: 1.0Bundle-ManifestVersion: 2Bundle-Name: Commands Plug-inBundle-SymbolicName: de.system.commands;singleton:=

我创建了一个包含以下文件夹结构的插件:

> src
> native / so / libsystemcommand.so
> META-INF / MANIFEST.MF

清单包括命令

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Commands Plug-in
Bundle-SymbolicName: de.system.commands;singleton:=true
Bundle-Version: 1.0.0
Bundle-Activator: de.system.commands.CommandsPlugin
Bundle-Localization: plugin
Bundle-NativeCode: native/so/libsystemcommand.so; osname = Linux; processor = x86
Require-Bundle: org.eclipse.core.runtime,org.apache.commons.logging
Eclipse-AutoStart: true
Export-Package: de.system.commands,de.system.commands.jni,de.system.commands.utils
Bundle-ClassPath: .

build.properties看起来像

source.. = src/
output.. = bin/
bin.includes = META-INF/,
               .,
               native/

在我的Activator类的start方法中,我调用了

System.loadLibrary("systemcommand");

在运行时,找不到库并抛出UnsatisfiedLinkError.

java.lang.UnsatisfiedLinkError: no libsystemcommand in java.library.path

我是否必须在插件中设置更多属性?我是否必须在目标平台上解压缩一些信息?

编辑:

java.library.path=/opt/jdk/j2re1.4.2_16/lib/i386/client:/opt/jdk/j2re1.4.2_16/lib/i386:/opt/jdk/j2re1.4.2_16/../lib/i386::/opt/dsa/lib:/opt/dsa/lib
最佳答案
我想知道是否需要在没有lib前缀的情况下指定库?例如.,

System.loadLibrary("systemcommand");

因为这是库在gcc链接线上传递的方式.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读