首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行berkelium

运行berkelium
EN

Stack Overflow用户
提问于 2012-02-14 08:01:43
回答 1查看 335关注 0票数 1

完全不了解http://code.google.com/p/berkelium-java/]berkelium,也不了解过时的jars,也不了解最新的subversion源代码。

当尝试从jar运行时,我将它们添加到依赖项中,并且在修改其中一个示例使其在较旧的jar下运行后,它实际上不能正常工作(AwtExample从不绘制站点)。

当我尝试从源代码运行时,我得到了这样的结果:

代码语言:javascript
复制
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上取得了成功?

编辑:所以我对它进行了编辑,使其需要icudt42而不是46,因为版本42是原生jar中的提供者。

现在我面对的是:

代码语言:javascript
复制
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)
EN

回答 1

Stack Overflow用户

发布于 2012-02-14 17:08:40

我不确定Java包装器是如何工作的,但如果它们需要构建最新版本的Berkelium,那么它们可能会失败,因为Berkelium::init()方法的签名更改为接受可选的附加参数:

代码语言:javascript
复制
bool BERKELIUM_EXPORT init(FileString homeDirectory, unsigned int extra_argc = 0, const char* extra_argv[] = NULL);

代码语言:javascript
复制
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来提供默认参数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9269924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档