Не удалось загрузить библиотеку JavaHL


96

После обновления до Snow Lion я начал получать эти ошибки в Flash Builder / Eclipse при попытке использовать SVN:

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

2
Звучит правильно. Я использую subclipse. Обновлю теги. Спасибо
1,21 гигаватт

Ответы:


112

Если вам не нужно использовать JavaHL, Subclipse также предоставляет чистую библиотеку API SVN для Java - SVNKit (http://svnkit.com). Просто установите клиентский адаптер SVNKit и плагины библиотеки с сайта обновления Subclipse, а затем выберите их в настройках в разделе «Команда»> «SVN».


1
Странно, догадываясь, что я только что проверил настройки, SVNKit уже был там. Это происходило только в редких случаях (в настоящее время я не работаю в проекте, поддерживаемом SVN), поэтому не могу сказать, что это сработало. Я очень надеюсь, что это так. Когда это происходит, Eclipse блокируется до тех пор, пока поиск (?) Не завершится или соединение (?) Не истечет примерно через минуту. Действительно раздражает, когда у вас большой спринт и мало времени ...
Уильям Т. Маллард

1
Используемая версия Eclipse IDE не имеет ничего общего с работающей или неработающей JavaHL. subclipse.tigris.org/wiki/JavaHL
Марк Фиппард

@Cerin, это определенно работает. Почему бы вам не сообщить нам, какая у вас проблема / ошибка, и, может быть, мы сможем помочь?
Эдди Кертис

177

Попробуй это:

  1. Выберите Window >> Preferences
  2. Развернуть команду >> SVN
  3. Под SVN интерфейс набора Клиент для SVNKit (Pure Java) SVNKit ... .

6
Спасибо, проблема была решена, и это быстрее, чем деинсталлировать плагин JavaHL!
xarlymg89

Я проверил свои предпочтения и обнаружил, что есть только один вариант - «JavaHL (JNI) 1.8.8 (r1568071)». Кто-нибудь может подсказать, почему и как решить проблему? спасибо
3h3

1
Эта опция недоступна ... даже после установки SVNKit с сайта обновлений ...
Cerin

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 Luna с OpenJDK 1.7.0_79 на Trisquel 7.
jah

1
Это единственный ответ, который ДЕЙСТВИТЕЛЬНО отвечает на исходный вопрос.
robross0606

реальный ответ, приложению требуется эта библиотека, нет необходимости указывать путь на третьем шаге, просто перезапустите, и он будет распознан
theGabyRod

7

Посмотрите этот блог . В нем масса информации. Также при установке с помощью 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

Это отлично сработало для меня. Мой компьютер перезагрузился по какой-то внешней причине, прежде чем я успел прочитать инструкции по установке. Даже если бы я мог использовать собственный SVNKit subclipse, я счастлив, что не позволил установить расширение javahl наполовину
Александр Морго

2

Я только что установил Mountain Lion, и у меня возникла та же проблема, что я использую FLashBuilder (который является 32-битным), а MountainLion - 64-битным, что означает, что по умолчанию MacPorts устанавливает все как 64-битные. Я использую подпрограмму 1.8. Поскольку я уже установил Subversion и JavaHLBindings, я просто выполнил эту команду:

 sudo port upgrade --enforce-variants active +universal 

Это заставило порты Mac пройти все, что уже установлено, а также установить 32-битную версию.

Затем я перезапустил FlashBuilder, и он больше не показывал ошибок JavaHL.


Что делает линия? -> Эти порты для Mac проходят через все уже установленное, а также устанавливают 32-битную версию.
catrapture

2

Вам может понадобиться JavaHL, а может и нет - в зависимости от вашей ОС. В дополнение к другим предложениям просто разместите это здесь.

введите описание изображения здесь

Для других ОС см. Этот источник: http://subclipse.tigris.org/wiki/JavaHL


1

возможно, вы можете попробовать это: изменить версию jdk. И я решил эту проблему, изменив jdk с 1.6.0_37 на 1.6.0.45. БР!



1

Для меня эта проблема возникла, когда я обновился до java 8, а затем вернулся к java 7. Снова обновился до java 8, и проблема была решена.


1

Для пользователей Windows Eclipse / STS v3.9.X может потребоваться обновить версию вашего подклипса.

Перейдите в Help > Install New Software > Click Subclipse и измените версию с 1.6.X на 1.8.X

Этот метод также применим к тем, кто сталкивается с недоступностью JavaHL. Вы можете проверить, доступна ли JavaHL, перейдя в Windows > Preference > Team > SVN . Вы можете проверить это в SVN Interface > Client разделе .

Если это работает на MAC OS, любезно ответьте в разделе комментариев. :)


Где у вас есть «Подклип» в «Установить новое программное обеспечение»?
Line

@Line Если вы не имеете Subclipse еще, вы можете нажать Добавить кнопку от установки нового программного обеспечения меню и установите его в соответствии с которым версия подходит вам. Вставьте местоположение , используя этот URL-адрес subclipse.tigris.org/update_1.10.x .
OreaSedap 02

0

Мое понимание - По сути, клиент svn по умолчанию входит в Mac OS. При установке в eclipse мы должны сопоставить плагин svn с плагином для Mac, и javaHL не будет отсутствовать. Существует длительный процесс обновления путем установки xcode, а затем с помощью homebrew или macports, которые вы можете найти после поиска в Google, но если вы спешите, просто используйте следующие шаги.

1) в оболочке терминала Mac

$ svn --version

Запишите версию, например 1.7.

2) откройте ссылку ниже

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

проверьте, какая версия субклипса вам соответствует. например

Подклип Версия SVN / JavaHL Версия 1.8.x 1.7.x

3) Хорошо, возьмите URL, соответствующий 1.8.x из

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

и добавьте в свой eclipse => Установить новое программное обеспечение в справке

выберите все, что вам нужно, svn client, subclipse или mylyn и т. д., и он попросит перезапустить STS / eclipse, вот и все. работал у меня.

ПРИМЕЧАНИЕ: если у вас уже установлено несколько версий внутри вашего eclipse, лучше всего удалить все клиентские версии subclipse или svn из подключаемых модулей eclipse и начать все заново, выполнив шаги, перечисленные выше.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.