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 に答える