0

我刚刚为 Eclipse 安装了 Klocwork 插件。但是当我开始扫描一个项目时,它给了我以下错误:

java.lang.UnsatisfiedLinkError: no sqlite_jni in java.library.path
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.loadLibrary0(Unknown Source)
    at java.lang.System.loadLibrary(Unknown Source)
    at com.klocwork.desktopdb.SqliteJniLoader.initDefaultLibraries(SqliteJniLoader.java:28)
    at com.klocwork.desktopdb.SqliteAgent.<clinit>(SqliteAgent.java:21)
    at com.klocwork.desktopdb.migration.MigrateDesktopDb.<init>(MigrateDesktopDb.java:48)
    at com.klocwork.desktopdb.migration.MigrateDesktopDb.migrate(MigrateDesktopDb.java:44)
    at com.klocwork.desktopdb.KwlpProblemsStorageUtil.migrateOrCreateStorage(KwlpProblemsStorageUtil.java:32)
    at com.klocwork.kwcheck.commands.AbstractCommand.convertToDB(AbstractCommand.java:82)
    at com.klocwork.kwcheck.commands.BuildCommand.execute(BuildCommand.java:110)
    at com.klocwork.util.CommandLineParser2.parse(CommandLineParser2.java:360)
    at com.klocwork.kwcheck.KwCheckMain.main(KwCheckMain.java:22)
kwcheck: WARNING: Exception occured in java application
Picked up _JAVA_OPTIONS: -Djava.net.preferIPv4Stack=true -Djava.library.path=".;C:\Program Files (x86)\myLib\win32"
Exception in thread "main" 

我发现了几个有类似问题的线程:

http://thelogofthewook.blogspot.de/2011/12/updating-problems-myproject-no.html

https://developer.klocwork.com/community/forums/klocwork-general/user-tools/eclipse-plugin-error

他们都提到了一些 32 位/64 位的问题。但我使用的是 32 位 Eclipse + 32 位 JVM。

正如我检查sqlite_jni.dll的那样,插件liblib64文件夹中分别存在2个不同的文件。所以我想没有文件丢失。

那么有什么问题呢?

目前,我正在尝试通过以下方式对其进行故障排除:

  1. 弄清楚插件如何定位其本机库。
  2. 如何为插件配置 java.library.path。
4

1 回答 1

0

一点耐心是有回报的……

我仔细阅读了错误消息,它清楚地表明:

拿起_JAVA_OPTIONS:-Djava.net.preferIPv4Stack=true -Djava.library.path=".;C:\Program Files (x86)\myLib\win32"

所以我突然想起我曾经这样设置一个环境变量:

_JAVA_OPTIONS = -Djava.net.preferIPv4Stack=true -Djava.library.path=".;C:\Program Files (x86)\myLib\win32"

在我把它改成下面之后,事情就开始起作用了。

_JAVA_OPTIONS = -Djava.net.preferIPv4Stack=true

和一些背景参考: http ://examples.javacodegeeks.com/java-basics/java-library-path-what-is-it-and-how-to-use/

于 2015-02-27T03:16:48.527 回答