无法加载JavaHL库


95

更新到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

3
听起来这与您正在使用的Eclipse和SVN客户端有关;不一定是Flash Builder。
JeffryHouser 2012年

2
听起来不错。我正在使用子剪辑。我将更新标签。谢谢
1.21吉瓦

Answers:


111

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


1
很奇怪,我凭直觉就检查了首选项,并且SVNKit已经存在了。这仅在极少数情况下发生(我现在不在SVN支持的项目中工作),因此不能说它有效。我真的希望如此。当发生这种情况时,它将锁定Eclipse,直到大约一分钟后搜索(?)完成或连接(?)超时。当您冲刺大而时间短时,真是令人讨厌……
William T. Mallard

1
所使用的Eclipse IDE版本与JavaHL是否有效无关。 subclipse.tigris.org/wiki/JavaHL
Mark Phippard 2013年

@Cerin绝对可以。您为什么不告诉我们您遇到什么问题/错误,也许我们可以提供帮助?
艾迪·柯蒂斯

175

试试这个:

  1. 选择窗口 >> 首选项
  2. 扩大团队 >> SVN
  3. SVN接口设置客户端SVNKit(纯Java)SVNKit ...

5
谢谢,这解决了这个问题,并且比发布JavaHL插件要快!
xarlymg89

我检查了“首选项”,发现只有一个选择作为“ JavaHL(JNI)1.8.8(r1568071)”。有人可以告诉我为什么以及如何解决该问题?谢谢
3h3

1
此选项不可用...即使在从其更新站点安装SVNKit之后...
Cerin 2014年

26

在Kubuntu上,由于安装了另一个Java版本,我的库路径已更改。这是整个图片,但总之:

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

最后一条命令的输出如下所示,例如:

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

这为您提供了路径,因此您可以将以下内容添加到您的eclipse.ini

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

这样做取得JavaHL可以在Eclipse月神与OpenJDK的1.7.0_79上TRISQUEL 7
扎哈

1
这是唯一可以实际回答原始问题的答案。
robross0606 '16

真正的答案,应用程序需要此库,无需将路径放在第三步中就可以重新启动,它会被识别
theGabyRod

6

看看这个博客。它具有大量信息。另外,如果通过brew安装,请不要错过以下说明:

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

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

这对我来说非常合适。在有机会阅读安装后说明之前,我的计算机由于某种外部原因而重新启动。即使我可以使用subclipse本机SVNKit,我也很高兴不让javahl扩展安装一半
Alexandre Morgaut 2015年

2

我刚刚安装了Mountain Lion,并遇到了与我使用FLashBuilder(32位)相同的问题,而MountainLion是64位的情况,这意味着MacPorts默认将所有内容安装为64位。我使用的subclipse版本是1.8,因为我已经安装了Subversion和JavaHLBindings,所以我只运行了以下命令:

 sudo port upgrade --enforce-variants active +universal 

这使得mac端口可以浏览所有已安装的内容,并且还可以安装32位版本。

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


这条线是做什么的?->这将使mac端口检查已安装的所有内容,并同时安装32位版本。
2013年


1

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



1

对我来说,我升级到Java 8时就开始遇到此问题,然后又恢复为Java7。再次升级到Java 8并解决了问题。


1

对于Eclipse / STS v3.9.X Windows用户,您可能需要更新您的subclipse版本。

转到帮助 > 安装新软件 > 单击Subclipse,然后将版本从1.6.X 编辑1.8.X。

此方法也适用于遇到JavaHL不可用的用户。您可以通过转到Windows > 首选项 > 团队 > SVN来检查JavaHL是否可用。您可以在SVN界面 > 客户端部分中对其进行检查。

如果此操作在MAC OS上有效,请在评论部分中回复。:)


在“安装新软件”中的哪里有“子片段”?
在线

@Line如果尚未安装Subclipse,则可以从“ 安装新软件”菜单中单击“ 添加”按钮,然后根据适合您的版本进行安装。使用此URL subclipse.tigris.org/update_1.10.x插入位置
OreaSedap '18 -4-2

0

我的理解-基本上,svn客户端默认是Mac操作系统上的操作系统。在Eclipse中安装时,我们应该将svn插件与mac插件匹配,并且不会丢失javaHL。通过安装xcode然后使用homebrew或macports进行更新需要花费很长时间,在谷歌搜索后可以找到它们,但是如果您急着使用以下步骤。

1)在您的Mac终端外壳上

$ svn-版本

记下版本,例如1.7。

2)打开下面的链接

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

检查所需的子剪辑版本。例如

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

3)好的,从中获取对应于1.8.x的网址

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

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

选择您需要的任何东西,svn client或subclipse或mylyn等,它会要求重新启动STS / eclipse,即您已完成。为我工作。

注意:如果您已经在eclipse中安装了多个版本,则最好从eclipse插件中卸载所有subclipse或svn客户端版本,并从上面列出的步骤重新开始。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.