1

http://code.google.com/p/berkelium-java/]berkelium-java、古いjarファイル、最新のサブバージョンソースではまったく運がありません。

jar から実行しようとすると、それらを依存関係に追加し、古い jar で実行されるようにサンプルの 1 つを変更した後、実際には正常に動作しません (AwtExample はサイトをペイントしません)。

ソースから実行しようとすると、次のようになります。

initializing berkelium-java...
Exception in thread "Berkelium Thread" java.lang.ExceptionInInitializerError
at org.berkelium.java.impl.MultiThreadBerkelium.initThread(MultiThreadBerkelium.java:99)
at org.berkelium.java.impl.MultiThreadBerkelium.access$200(MultiThreadBerkelium.java:13)
at org.berkelium.java.impl.MultiThreadBerkelium$2.run(MultiThreadBerkelium.java:41)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.RuntimeException: java.io.FileNotFoundException: org/berkelium/java/native/win32/icudt46.dll
at org.berkelium.java.impl.NativeLibraryLoader.<init>(NativeLibraryLoader.java:73)
at org.berkelium.java.impl.SingleThreadBerkelium.<clinit>(SingleThreadBerkelium.java:16)
... 4 more
Caused by: java.io.FileNotFoundException: org/berkelium/java/native/win32/icudt46.dll
at org.berkelium.java.impl.NativeLibraryLoader.open(NativeLibraryLoader.java:85)
at org.berkelium.java.impl.NativeLibraryLoader.copy(NativeLibraryLoader.java:97)
at org.berkelium.java.impl.NativeLibraryLoader.processFile(NativeLibraryLoader.java:121)
at org.berkelium.java.impl.NativeLibraryLoader.loadLib(NativeLibraryLoader.java:79)
at org.berkelium.java.impl.NativeLibraryLoader.<init>(NativeLibraryLoader.java:63)
... 5 more

berkelium-java で成功した人はいますか?

編集:バージョン42はネイティブjarのプロバイダーであるため、46ではなくicudt42が必要になるように編集しました。

今私は直面しています:

initializing berkelium-java...
Exception in thread "Berkelium Thread" java.lang.UnsatisfiedLinkError: org.berkelium.java.impl.SingleThreadBerkelium._init(Ljava/lang/String;Ljava/lang/String;)V
at org.berkelium.java.impl.SingleThreadBerkelium._init(Native Method)
at org.berkelium.java.impl.SingleThreadBerkelium.<init>(SingleThreadBerkelium.java:21)
at org.berkelium.java.impl.MultiThreadBerkelium.initThread(MultiThreadBerkelium.java:99)
at org.berkelium.java.impl.MultiThreadBerkelium.access$200(MultiThreadBerkelium.java:13)
at org.berkelium.java.impl.MultiThreadBerkelium$2.run(MultiThreadBerkelium.java:41)
at java.lang.Thread.run(Thread.java:722)
4

1 に答える 1

1

Java ラッパーがどのように機能するか正確にはわかりませんが、最近のバージョンの Berkelium をビルドする必要がある場合は、Berkelium::init() メソッドのシグネチャがオプションの追加引数を取るように変更されたため、失敗している可能性があります。

bool BERKELIUM_EXPORT init(FileString homeDirectory, unsigned int extra_argc = 0, const char* extra_argv[] = NULL);

また

bool BERKELIUM_EXPORT init(FileString homeDirectory, FileString subprocessDirectory, unsigned int extra_argc = 0, const char* extra_argv[] = NULL);

メソッドの署名を更新し、src/main/java/org/berkelium/java/impl/SingleThreadBerkelium.java で init を呼び出して、デフォルトの引数を提供する必要がある場合があります。

于 2012-02-14T09:08:40.207 に答える