Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
5301 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Exception java.lang.UnsatisfiedLinkError sous Linux

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Exception java.lang.UnsatisfiedLinkError sous Linux

n°723757
winloto
Posté le 12-05-2004 à 18:01:58  profilanswer
 

Bonjour,
 
Le problème porte sur une application Java développée sous JBuilderX.
 
Lancée sur mon ordinateur (Windows XP), elle fonctionne très bien, sans aucun problème particulier.
 
J'ai crée une archive nommée Search.jar et qui possède toutes les classes nécessaires pour fonctionner : elle fonctionne sous mon ordinateur.
 
Cependant, ce programme est destiné à être executé sur un serveur tournant sous Linux (RedHat 7.2) et auquel j'ai accès via SSH.
 
Sur ce serveur, j'ai installé l'interprêteur Java sous forme de RPM : j2re-1_4_2_04-linux-i586-rpm.bin
 
Ensuite, j'ai ajouté au fichier de configuration /etc/profile ceci :
 
JAVA_HOME=/usr/java/j2re1.4.2_04
J2RE_HOME=/usr/java/j2re1.4.2_04
PATH=$PATH:$/usr/java/j2re1.4.2_04/bin
export PATH=/usr/java/j2re1.4.2_04/bin:$PATH
# export JAVA_HOME PATH
JAVA_DIR=/usr/java/j2re1.4.2_04
JRE=/usr/java/j2re1.4.2_04
J2RE=/usr/java/j2re1.4.2_04
JAVA=/usr/java/j2re1.4.2_04
export JRE

 
Le lancement de l'archive s'effectue commme ceci en ligne de commande via SSH, dans le répertoire dans lequel est mon archive Search.jar :
java -jar Search.jar
 
L'execution commence bien, mais se poursuit par l'exception suivante :  
Exception in thread "main" java.lang.UnsatisfiedLinkError: /usr/java/j2re1.4.2_0
e or directory
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(Unknown Source)
        at java.lang.ClassLoader.loadLibrary(Unknown Source)
        at java.lang.Runtime.loadLibrary0(Unknown Source)
        at java.lang.System.loadLibrary(Unknown Source)
        at sun.security.action.LoadLibraryAction.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.awt.NativeLibLoader.loadLibraries(Unknown Source)
        at sun.awt.DebugHelper.<clinit>(Unknown Source)
        at java.awt.EventQueue.<clinit>(Unknown Source)
        at javax.swing.SwingUtilities.isEventDispatchThread(Unknown Source)
        at javax.swing.text.StyleContext.reclaim(Unknown Source)
        at javax.swing.text.StyleContext.addAttribute(Unknown Source)
        at javax.swing.text.html.StyleSheet.addAttribute(Unknown Source)
        at javax.swing.text.StyleContext$NamedStyle.addAttribute(Unknown Source)
        at javax.swing.text.StyleContext$NamedStyle.setName(Unknown Source)
        at javax.swing.text.StyleContext$NamedStyle.<init>(Unknown Source)
        at javax.swing.text.StyleContext.addStyle(Unknown Source)
        at javax.swing.text.StyleContext.<init>(Unknown Source)
        at javax.swing.text.html.StyleSheet.<init>(Unknown Source)
        at javax.swing.text.html.HTMLDocument.<init>(Unknown Source)
        at search.HTMLDocumentLinks.<init>(HTMLDocumentLinks.java:64)
        at search.Crawler.main(Crawler.java:175)

 
L'interprêteur ne semble pas arriver à executer le constructeur de la classe HTMLDocumentLinks qui hérite de javax.swing.text.html.HTMLDocument
 
Une idée de la cause de cette exception, et comment y remédier ?
 
Merci.

mood
Publicité
Posté le 12-05-2004 à 18:01:58  profilanswer
 

n°723774
lorill
Posté le 12-05-2004 à 18:15:57  profilanswer
 

tu utilises awt, et X n'est pas installé sur le serveur.
 
accessoirement, y'a un bout du message d'erreur qui manque

n°723897
winloto
Posté le 12-05-2004 à 21:18:09  profilanswer
 

- Peux-tu m'expliquer succintement comment installer X sur le serveur ?
 
- Ou alors, existe-t-il une classe équivalente (ou meilleure) à HTMLDocument ?
 
- Question subsidiaire : existe-t-il une classe qui permette de manipuler des documents XHTML ? En effet la classe HTMLDocument bug avec des document XHTML
 

n°723899
lorill
Posté le 12-05-2004 à 21:22:27  profilanswer
 

si t'es pas admin de la machine, tu peux pas.
pour les autres questions, je passe.

n°723901
winloto
Posté le 12-05-2004 à 21:24:24  profilanswer
 

Je suis totalement maitre de la machine, j'ai d'ailleurs installé moi-même l'interprêteur Java ;o)
 
Qq'un peut-il m'expliquer comment installer AWT ?


Message édité par winloto le 12-05-2004 à 22:27:06
n°723943
winloto
Posté le 12-05-2004 à 22:08:00  profilanswer
 

D'après les informations que j'ai pêchées, AWT est en natif dans JRE... le problème ne doit pas venir de là !
 
Quand tu parles de X, tu parles de X-window de Linux, ou tu parles d'AWT ?...  
 
A votre bon coeur m'sieurs dames... je patauge ! Si toi qui lit ce message tu connais la réponse à mes problèmes, n'hésites pas à me la donner ;o)


Message édité par winloto le 12-05-2004 à 22:27:54
n°723976
krosso
j'suis à la bourre
Posté le 12-05-2004 à 23:08:11  profilanswer
 

y a-t-il une interface graphique à ton appli ?
 
si la réponse est non passe à la jvm le paramètre suivant :
-Djava.awt.headless=false
 
K.
 

n°723979
krosso
j'suis à la bourre
Posté le 12-05-2004 à 23:10:34  profilanswer
 

krosso a écrit :

y a-t-il une interface graphique à ton appli ?
 
si la réponse est non passe à la jvm le paramètre suivant :
-Djava.awt.headless=false
 
K.


 
CORRECTION :
 
-Djava.awt.headless=true
 
 
Ooops...

n°724255
winloto
Posté le 13-05-2004 à 09:47:13  profilanswer
 

krosso a écrit :

CORRECTION :
 
-Djava.awt.headless=true
 
 
Ooops...


 
ça ne fonctionne pas mieux...
 
java -jar -Djava.awt.headless=true  Search.jar  
 

Exception in thread "main" java.lang.UnsatisfiedLinkError: /usr/java/j2re1.4.2_04/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(Unknown Source)
        at java.lang.ClassLoader.loadLibrary(Unknown Source)
        at java.lang.Runtime.loadLibrary0(Unknown Source)
        at java.lang.System.loadLibrary(Unknown Source)
        at sun.security.action.LoadLibraryAction.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.awt.NativeLibLoader.loadLibraries(Unknown Source)
        at sun.awt.DebugHelper.<clinit>(Unknown Source)
        at java.awt.EventQueue.<clinit>(Unknown Source)
        at javax.swing.SwingUtilities.isEventDispatchThread(Unknown Source)
        at javax.swing.text.StyleContext.reclaim(Unknown Source)
        at javax.swing.text.StyleContext.addAttribute(Unknown Source)
        at javax.swing.text.html.StyleSheet.addAttribute(Unknown Source)
        at javax.swing.text.StyleContext$NamedStyle.addAttribute(Unknown Source)
        at javax.swing.text.StyleContext$NamedStyle.setName(Unknown Source)
        at javax.swing.text.StyleContext$NamedStyle.<init>(Unknown Source)
        at javax.swing.text.StyleContext.addStyle(Unknown Source)
        at javax.swing.text.StyleContext.<init>(Unknown Source)
        at javax.swing.text.html.StyleSheet.<init>(Unknown Source)
        at javax.swing.text.html.HTMLDocument.<init>(Unknown Source)
        at search.HTMLDocumentLinks.<init>(HTMLDocumentLinks.java:64)
        at search.Crawler.main(Crawler.java:176)


Message édité par winloto le 13-05-2004 à 09:54:25
n°724342
lorill
Posté le 13-05-2004 à 10:49:10  profilanswer
 

winloto a écrit :

D'après les informations que j'ai pêchées, AWT est en natif dans JRE... le problème ne doit pas venir de là !


il utilise quand même les libraries X sous unix (faut bien qu'il puisse afficher quelque chose, non ?)
 

Citation :


Quand tu parles de X, tu parles de X-window de Linux


ben oui  :??:  
 

mood
Publicité
Posté le 13-05-2004 à 10:49:10  profilanswer
 

n°724348
lorill
Posté le 13-05-2004 à 10:49:58  profilanswer
 

Citation :

libXp.so.6: cannot open shared object file: No such file or directory


c'est pourtant clair...

n°724366
winloto
Posté le 13-05-2004 à 10:58:17  profilanswer
 

Peux-tu m'expliquer la solution ?
Faut-il installer X-window ou puis-je tout somplement choper le fichier qui manque qq part et le mettre où il faut ?
 
Je précise que c'est un serveur web auquel je n'ai accès que par SSH.


Message édité par winloto le 13-05-2004 à 10:59:38
n°724369
lorill
Posté le 13-05-2004 à 10:59:39  profilanswer
 

faut installer les librairies X, oui.
le serveur en entier, c'est pas la peine.

n°724375
lorill
Posté le 13-05-2004 à 11:01:43  profilanswer
 

winloto a écrit :


Je précise que c'est un serveur web auquel je n'ai accès que par SSH.


c'est pour ca que j'ai dit dans mon 2eme message que si t'étais pas admin, c'était DTC.

n°724376
winloto
Posté le 13-05-2004 à 11:01:54  profilanswer
 

t'as l'air de t'y connaitre, tu peux me dire où trouver ces librairies et comment les installer ?

n°724381
lorill
Posté le 13-05-2004 à 11:03:14  profilanswer
 

non. demande a ton admin, de toutes facons si tu n'as pas les droits tu pourras pas le faire.

n°724387
winloto
Posté le 13-05-2004 à 11:05:14  profilanswer
 

J'ai précisé que j'étais admin, j'ai tout pouvoir sur la machine. Je peux donc TOUT FAIRE ! Simplement la machine n'est pas à coté de moi mais à distance, j'y accède via SSH.
La question pour moi est de savoir COMMENT installer X ?


Message édité par winloto le 13-05-2004 à 11:07:34
n°724393
lorill
Posté le 13-05-2004 à 11:07:20  profilanswer
 

bah sur redhat, tu récuperes les rpm (je sais pas lesquels, ni ou les trouver, désolé) et tu les installes par "rpm -ivh lespaquets"

n°724396
winloto
Posté le 13-05-2004 à 11:07:54  profilanswer
 

Mârci

n°724447
winloto
Posté le 13-05-2004 à 11:27:25  profilanswer
 

lorill a écrit :

bah sur redhat, tu récuperes les rpm (je sais pas lesquels, ni ou les trouver, désolé) et tu les installes par "rpm -ivh lespaquets"


 
Par contre rassures moi, je n'aurai pas à lancer X window pour executer mon programme Java j'espère ? Le simple fait qu'il soit présent sur le serveur mais inactif suffira ?

n°724457
lorill
Posté le 13-05-2004 à 11:30:41  profilanswer
 

oui

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Exception java.lang.UnsatisfiedLinkError sous Linux

 

Sujets relatifs
Socket en C++ avec gestion de stream sous Linux[langage C] Créer un logiciel client/serveur type ftp sous Linux
Différence entre Java de Sun et Machine Virtuel Java de Microsoft ?[java]Pb de bouton et de refresh sur un JDialog
Monitorer un réseau local en java[java] Fréquence des itérations dans un Listener
[java] synchronize & staticjava- lire une liste dans un fichier
Accéder à une base Access à partir de Linux[java] Philosophie java
Plus de sujets relatifs à : Exception java.lang.UnsatisfiedLinkError sous Linux


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)