我创建了一个插件,它包括以下文件夹结构:使用捆绑,NativeCode在Linux上不起作用
- SRC
- 本地/所以/ 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
类的启动方法我称之为
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
你有什么在你的java.library.path? – dsm 2009-01-23 13:24:48