无法加载JavaHL库

更新到Snow Lion之后,在尝试使用SVN时,我开始在Flash Builder / Eclipse中收到这些错误:

Failed to load JavaHL Library. These are the errors that were encountered: no libsvnjavahl-1 in java.library.path /opt/subversion/lib/libsvnjavahl-1.0.dylib: Library not loaded: /usr/lib/libpq.5.dylib Referenced from: /opt/subversion/lib/libsvnjavahl-1.0.dylib Reason: no suitable image found. Did find: /usr/lib/libpq.5.dylib: mach-o, but wrong architecture /usr/lib/libpq.5.dylib: mach-o, but wrong architecture no svnjavahl in java.library.path java.library.path = .:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java 

如果你不需要使用JavaHL,Subclipse还提供了一个纯Java的SVN API库 – SVNKit(http://svnkit.com)。; 只需从Subclipse更新站点安装SVNKit客户端适配器和库插件,然后在Team> SVN下的首选项中select它。

尝试这个:

  1. select窗口 >> 首选项
  2. 展开Team >> SVN
  3. SVN界面下Client设置为SVNKit(Pure Java)SVNKit …。

在Kubuntu上,由于安装了另一个Java版本,我更改了库的path。 这是全貌 ,但总之:

 sudo apt-get install libsvn-java sudo find / -name libsvnjavahl-1.so 

最后一个命令的输出可能如下所示,例如:

/usr/lib/x86_64-linux-gnu/jni/libsvnjavahl-1.so

这给你的path,所以你可以添加以下到您的eclipse.ini

 -Djava.library.path=/usr/lib/x86_64-linux-gnu/jni/ 

看看这个博客 。 它有很多的信息。 另外,如果通过brew安装,不要错过这个提示:

您可能需要将Java绑定链接到Java扩展文件夹:

  $ sudo mkdir -p /Library/Java/Extensions $ sudo ln -s /usr/local/lib/libsvnjavahl-1.dylib /Library/Java/Extensions/libsvnjavahl-1.dylib 

我刚刚安装了山狮,并有同样的问题,我使用FLashBuilder(这是32位),MountainLion是64位,这意味着默认情况下,MacPorts安装一切为64位。 我使用的subclipse的版本是1.8因为我已经安装了Subversion和JavaHLBindings我只是运行这个命令:

  sudo port upgrade --enforce-variants active +universal 

这使得mac端口经过了已经安装的所有东西,同时也安装了32位版本。

然后我重新启动FlashBuilder,它不再显示任何JavaHL错误。

您可能会也可能不需要JavaHL,具体取决于您的操作系统。 除此之外,还有其他build议。

在这里输入图像说明

对于其他操作系统看到这个来源: http : //subclipse.tigris.org/wiki/JavaHL

也许你可以试试这个:改变jdk版本。 我通过将jdk从1.6.0_37更改为1.6.0.45来解决了这个问题。 BR!

我试过每一个可用的解决scheme,最后对我来说问题是:

 uninstall Native JavaHL 1.6 install everything under Subclipse from this site: 

http://subclipse.tigris.org/update_1.10.x >

对我来说,当我升级到Java 8时,我开始得到这个问题,然后恢复到Java 7.再次升级到Java 8,问题得到解决。

请参阅: http : //subclipse.tigris.org/issues/show_bug.cgi?id=1438

我的理解 – 基本上,svn客户端默认在Mac OS上。 在eclipse中安装时,我们应该将svn插件匹配到mac插件,而javaHL不会丢失。 有一个漫长的过程来更新安装Xcode,然后通过使用自制软件或MacPorts,你可以find之后,但如果你急于使用下面的步骤。

1)在你的Macterminalshell

$ svn –version

记下版本,例如1.7。

2)打开下面的链接

http://subclipse.tigris.org/wiki/JavaHL

检查你需要哪个版本的subclipse对应于它。 例如

Subclipse版本SVN / JavaHL版本1.8.x 1.7.x

3)好吧,拿起相应的1.8.x从

http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA

并添加到您的eclipse =>在帮助下安装新的软件

select你所需要的,svn客户端或subclipse或mylyn等,它会要求重启STS /日食这就是你已经完成。 为我工作。

注意:如果你的eclipse已经安装了多个版本,那么最好从eclipse插件中卸载所有的subclipse或者svn客户端版本,然后从上面列出的步骤开始。