gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 00:34:07 26 4
gpt4 key购买 nike

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

  • 来源
  • native/so/libsystemcommand.so
  • META-INF/MANIFEST.MF

list 包括命令

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 类的启动方法中

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 链接行上传递库的方式。

关于java - 在 Linux 上使用 Bundle-NativeCode 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/472825/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com