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

Не имея никакой удачи ни с 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

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

РЕДАКТИРОВАТЬ: Таким образом, я отредактировал его так, что он требует icudt42, а не 46, потому что версия 42 является провайдером в банке natives.

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

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 ответ

Я не совсем уверен, как именно работают 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, чтобы предоставить аргументы по умолчанию.

Другие вопросы по тегам