Бегущий Берклий-Ява - PullRequest
       12

Бегущий Берклий-Ява

1 голос
/ 14 февраля 2012

Абсолютно не повезло с http://code.google.com/p/berkelium-java/]berkelium-java,, ни с устаревшими банками, ни с новейшим источником подрывной деятельности.

При попытке запустить из jar я добавляю их в зависимости, и после изменения одного из примеров, чтобы он работал под более старым jar, он фактически не работает должным образом (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

Кто-нибудь имел успех с берклиум-ява?

EDIT: Поэтому я отредактировал его так, что для него требуется icudt42, а не 46, потому что версия 42 - это провайдер в jar-файле native.

Теперь я сталкиваюсь:

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)

1 Ответ

1 голос
/ 14 февраля 2012

Я точно не знаю, как работают обертки 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);

Вам может потребоваться обновить сигнатуру метода и вызвать init в src / main / java / org / berkelium / java / impl / SingleThreadBerkelium.java, чтобы предоставить аргументы по умолчанию.

...