Échec du chargement de la bibliothèque JavaHL

96

Après la mise à jour vers Snow Lion, j'ai commencé à recevoir ces erreurs dans Flash Builder / Eclipse en essayant d'utiliser 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
1,21 gigawatts
la source
3
Il semble que cela concerne Eclipse et le client SVN que vous utilisez; pas nécessairement Flash Builder.
JeffryHouser du
2
Cela semble juste. J'utilise subclipse. Je mettrai à jour les balises. Merci
1,21 gigawatts

Réponses:

111

Si vous n'avez pas besoin d'utiliser JavaHL, Subclipse fournit également une bibliothèque d'API SVN purement Java - SVNKit (http://svnkit.com). Installez simplement l'adaptateur client SVNKit et les plugins de bibliothèque à partir du site de mise à jour de Subclipse, puis choisissez-le dans les préférences sous Équipe> SVN.

Mark Phippard
la source
1
Bizarre, sur une intuition, je viens de vérifier les préférences et SVNKit était déjà là. Cela ne s'est produit qu'en de rares occasions (je ne travaille pas dans un projet soutenu par SVN pour le moment), je ne peux donc pas dire que cela a fonctionné. J'espère sincèrement. Lorsque cela se produit, il verrouille Eclipse jusqu'à ce que la recherche (?) Se termine ou que la connexion (?) Expire après environ une minute. Vraiment ennuyeux quand vous avez un gros sprint et peu de temps ...
William T.Mallard
1
La version de l'IDE Eclipse utilisée n'aurait rien à voir avec le fonctionnement ou le non fonctionnement de JavaHL. subclipse.tigris.org/wiki/JavaHL
Mark Phippard
@Cerin ça marche vraiment. Pourquoi ne nous dites-vous pas quel problème / erreur vous rencontrez et peut-être que nous pouvons vous aider?
Eddie Curtis
176

Essaye ça:

  1. Sélectionnez Fenêtre >> Préférences
  2. Élargir l' équipe >> SVN
  3. Sous l' interface SVN jeu client à SVNKit SVNKit (Pure Java) ... .
Atul Kaushik
la source
6
Merci, cela a résolu le problème et c'est plus rapide que de désinstaller le plugin JavaHL!
xarlymg89
J'ai vérifié ma préférence et j'ai trouvé qu'il n'y avait qu'un seul choix comme "JavaHL (JNI) 1.8.8 (r1568071)". Quelqu'un peut me dire pourquoi et comment résoudre le problème? merci
3h3
1
Cette option n'est pas disponible ... même après l'installation de SVNKit depuis son site de mise à jour ...
Cerin
26

Sur Kubuntu, mon chemin vers la bibliothèque a changé en raison de l'installation d'une autre version Java. Voici le tableau complet , mais en bref:

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

La sortie de la dernière commande pourrait ressembler à ceci, par exemple:

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

Cela vous donne le chemin, vous pouvez donc ajouter ce qui suit à votre eclipse.ini:

-Djava.library.path=/usr/lib/x86_64-linux-gnu/jni/
makkasi
la source
Cela a rendu JavaHL disponible dans Eclipse Luna avec OpenJDK 1.7.0_79 sur Trisquel 7.
jah
1
C'est la seule réponse ici qui répond RÉELLEMENT à la question initiale.
robross0606
la vraie réponse, l'application nécessite cette bibliothèque, il n'est pas nécessaire de mettre le chemin dans la troisième étape, il suffit de redémarrer et il sera reconnu
theGabyRod
7

Consultez ce blog . Il contient une tonne d'informations. Aussi si vous installez via brew, ne manquez pas cette note:

Vous devrez peut-être lier les liaisons Java dans le dossier Extensions Java:

 $ sudo mkdir -p /Library/Java/Extensions
 $ sudo ln -s /usr/local/lib/libsvnjavahl-1.dylib /Library/Java/Extensions/libsvnjavahl-1.dylib
Federico
la source
Cela a parfaitement fonctionné pour moi. Mon ordinateur a redémarré pour une raison externe avant que j'aie eu la chance de lire les instructions de post-installation. Même si je pouvais utiliser le SVNKit natif de subclipse, je suis heureux de ne pas laisser l'extension javahl à moitié installée
Alexandre Morgaut
2

Je viens d'installer Mountain Lion et j'ai eu le même problème que j'utilise FLashBuilder (qui est 32 bits) et MountainLion est 64 bits, ce qui signifie que par défaut MacPorts installe tout en 64 bits. La version de subclipse que j'utilise est la 1.8 Comme j'avais déjà installé Subversion et JavaHLBindings, je viens d'exécuter cette commande:

 sudo port upgrade --enforce-variants active +universal 

Cela a permis aux ports mac de passer par tout ce qui était déjà installé et d'installer également la version 32 bits.

J'ai ensuite redémarré FlashBuilder et il n'a plus montré d'erreurs JavaHL.

catrapture
la source
Que fait la ligne? -> Cela permet aux ports mac de parcourir tout ce qui est déjà installé et d'installer également la version 32 bits.
catrapture
2

Vous pouvez ou non avoir besoin de JavaHL en fonction de votre système d'exploitation. En plus d'autres suggestions, publiez simplement ceci ici.

entrez la description de l'image ici

Pour les autres systèmes d'exploitation, consultez cette source: http://subclipse.tigris.org/wiki/JavaHL

Prince
la source
1

peut-être que vous pouvez essayer ceci: changez la version de jdk. Et j'ai résolu ce problème en changeant jdk de 1.6.0_37 à 1.6.0.45. BR!

Evan
la source
1

J'ai essayé toutes les solutions disponibles et finalement pour moi le problème était:

uninstall Native JavaHL 1.6

install everything under Subclipse from this site:

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

Développement web
la source
1

Pour moi, j'ai commencé à avoir ce problème lorsque je suis passé à java 8, puis je suis revenu à java 7. Je suis revenu à java 8 et le problème a été résolu.

sasfour
la source
1

Pour l'utilisateur de Windows Eclipse / STS v3.9.X, vous devrez peut-être mettre à jour votre version de sous-clipse.

Allez dans Aide > Installer un nouveau logiciel > Cliquez sur Subclipse et modifiez la version de 1.6.X à 1.8.X

Cette méthode s'applique également à ceux qui rencontrent JavaHL non disponible. Vous pouvez vérifier si JavaHL est disponible ou non en accédant à Windows > Préférences > Équipe > SVN . Vous pouvez le vérifier dans SVN Interface > Client section .

Si cela fonctionne sur MAC OS, veuillez répondre dans la section des commentaires. :)

OreaSedap
la source
Où avez-vous "Subclipse" dans "Installer un nouveau logiciel"?
Ligne
@Line Si vous n'aviez pas encore Subclipse, vous pouvez cliquer sur le bouton Ajouter dans le menu Installer un nouveau logiciel et l'installer en fonction de la version qui vous convient. Insérez l' emplacement à l'aide de cette URL subclipse.tigris.org/update_1.10.x .
OreaSedap
0

Ma compréhension - Fondamentalement, le client svn est fourni par défaut sur Mac OS. Lors de l'installation dans eclipse, nous devons faire correspondre le plugin svn au plugin mac et javaHL ne sera pas manquant. Il y a un long processus de mise à jour en installant xcode, puis en utilisant homebrew ou macports que vous pouvez trouver après googler, mais si vous êtes pressé, utilisez simplement les étapes ci-dessous.

1) sur le shell de votre terminal Mac

$ svn --version

Notez la version par exemple 1.7.

2) ouvrez le lien ci-dessous

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

vérifiez la version de sous-clipse dont vous avez besoin pour y correspondre. par exemple

Version de Subclipse SVN / JavaHL Version 1.8.x 1.7.x

3) ok, récupérez l'url correspondant à 1.8.x de

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

et ajoutez à votre eclipse => Installez un nouveau logiciel sous aide

sélectionnez tout ce dont vous avez besoin, svn client ou subclipse ou mylyn etc. et il demandera le redémarrage de STS / eclipse, c'est terminé. travaillé pour moi.

REMARQUE: si vous avez déjà plusieurs versions installées dans votre eclipse, il est préférable de désinstaller toutes les versions du client subclipse ou svn des plugins eclipse et de recommencer avec les étapes répertoriées ci-dessus.

Neeraj
la source