Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/02/2006, 17h18   #1
Invité de passage
 
Inscription : février 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 4
Points : 1
Points : 1
Par défaut J2SE - $CLASSPATH sous Linux

Bonjour à tous, j'ai installé java sous Linux.
j'ai un problème avec var CLASSPATH (set)
ex: le mien:
CLASSPATH=:/home/minh
Dans myprog.java
package Ex;
.............................

Dans l'autre fichier : test.java
package Ex;
import Ex.*;
...........................

Mais ça ne fonctionne pas.
Des erreurs se posent : pas trouvé des classes dans myprog


Ou: test.java ne peut pas importer des classes dans myprog.java.

J'ai essayé pls possibilités telle que : package minh.Ex.*; .....
même : javac -cp myprog.class test.java , pls fois autres .
Le problème reste toujours comme ça .

Par contre,avec Jcreator , ça marche bien . je ne sais pas régler CLASSPATH avec celui-ci.

JE PREFERE à utiliser sous LINUX

Veuillez vous m'aider , SVP ?
MERCI BEAUCOUP !
:o
nmqm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/02/2006, 23h02   #2
Membre du Club
 
Inscription : août 2005
Messages : 89
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 89
Points : 65
Points : 65
je suis pas spécialiste du java, alors je te montre le mien, j'espere que ça peut te servir :

export JAVA_HOME=/opt/java/jdk1.5.0_05
export CLASSPATH=$JAVA_HOME/lib/tools.jar:.
ciol2.6.12 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/02/2006, 23h30   #3
Invité de passage
 
Inscription : février 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 4
Points : 1
Points : 1
Alors, Franchement :
J'ai 3 fichiers dont leur chemin est:
/home/minh/Todo2email/
TodoItem.java
TodoList.java (importer des classes de TodoItem.java)
Todo2email.java (importer des classes de TodoItem.java et TodoList.java)

Voilà ! Dans chaque fichier : package Todo2email;
car : var CLASSPATH=/home/minh <--(commande set)
dans TodoList.java : import Todo2email.*;
dans Todo2email.java: import Todo2email.*;

Mais. Ils ne se trouvent pas.Ou bien, je peux pas importer ces 2 fichiers.
J'ai essayé avec : javac -cp TodoItem.class TodoList.java

1ere aff: error reading TodoItem.class
pls aff: CANNOT FIND SYMBOL

J'espère que c'est plus clair pour toi .

Merci ta réponse!!!! :o
nmqm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 09h47   #4
Membre Expert
 
Avatar de narmataru
 
Inscription : décembre 2002
Messages : 1 423
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : décembre 2002
Messages : 1 423
Points : 1 491
Points : 1 491
Bonjour,
Premièrement il me semble que tu ne cerne pas le concept de CLASPATH en java. Je te conseil donc de faire quelques recherches sur le forum java du site. Ça a du être traité decentaines de fois (ou sinon google est très fort aussi)

Citation:
TodoList.java (importer des classes de TodoItem.java)
Todo2email.java (importer des classes de TodoItem.java et TodoList.java)
Ces classes là n'ont rien à importer ! En effet tes 3 classes se trouvent dans le même package 'Todo2emai'

Citation:
Voilà ! Dans chaque fichier : package Todo2email;
ok ça c'est bien

Citation:
car : var CLASSPATH=/home/minh <--(commande set)
Fais plutot 'export CLASSPATH=/home/minh/' ou utilise l'option '-cp' de java.

Citation:
dans TodoList.java : import Todo2email.*;
dans Todo2email.java: import Todo2email.*;
Pas la peine car tes classes sont dans le même package.


Citation:
J'ai essayé avec : javac -cp TodoItem.class TodoList.java
L'option '-cp' de java n'est disponible que depuis java1.5. Donc pour être sur, utilise plutot '-classpath' avec la commande javac. Deuxièmement, un CLASSPATH ne contient que des répertoires (les packages) ou des .jar, mais jamais de .class ! Dans ton cas tu veux les .class dans le même répertoire que tes sources donc il suffit de faire :
Citation:
cd /home/minh/
javac ./Todo2email/*.java
au passage je te dirais que les noms de package doivent toujours être en minuscule. Ce n'est pas obligatoire, mais c'est un règle souvent respectée

Puis pour lancer ton programme :
Citation:
java -cp ./Todo2email/ Todo2email.Todo2email
__________________
Reportage d'Arte sur Linux
narmataru est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 12h02   #5
Futur Membre du Club
 
Inscription : février 2006
Messages : 27
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 27
Points : 17
Points : 17
Par défaut pb classpath

Bonjour,
je rencontre également un soucis avec Classpath. En effet :
[ally@localhost dom]$ java -jar xerces.jar
Error: could not find libjava.so
Error: could not find Java 2 Runtime Environment.

Alors voici mon fichier de classpath :
#!/bin/sh
export PATH=/usr/java/jdk1.5.0_06/jre/bin
export CLASSPATH=$PATH/lib/tools.jar:$PATH/jre/lib/rt.jar
export JAVA_HOME=/usr/java/jdk1.5.0_06
export JDK_HOME=/usr/java/jdk1.5.0_06

Je ne vois pas d'où vient le pb, si quelqu'un pouvait m'aider!
alison239 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 13h45   #6
Membre Expert
 
Avatar de narmataru
 
Inscription : décembre 2002
Messages : 1 423
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : décembre 2002
Messages : 1 423
Points : 1 491
Points : 1 491
Citation:
Error: could not find libjava.so
Error: could not find Java 2 Runtime Environment.
Apparemment ton système ne trouve pas la libraire java.

Essaye de modifier ton fichier de cette manière :

Citation:
#!/bin/sh
export PATH=$PATH:/usr/java/jdk1.5.0_06/jre/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/java/jdk1.5.0_06/jre/lib/i386/
export CLASSPATH=$PATH/lib/tools.jar:$PATH/jre/lib/rt.jar
export JAVA_HOME=/usr/java/jdk1.5.0_06
export JDK_HOME=/usr/java/jdk1.5.0_06
__________________
Reportage d'Arte sur Linux
narmataru est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 14h58   #7
Futur Membre du Club
 
Inscription : février 2006
Messages : 27
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 27
Points : 17
Points : 17
Toujours pareil!

Je suis même allée modifier le fichier /etc/ld.so.conf mais toujours pareil!


Voici mon dernier java.sh :

#!/bin/bash
export PATH=$PATH:/usr/java/jdk1.5.0_06/jre/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/java/jdk1.5.0_06/jre/lib/i386/
export JAVA_HOME=/usr/java/jdk1.5.0_06
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
export JDK_HOME=/usr/java/jdk1.5.0_06
alison239 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 16h56   #8
Membre Expert
 
Avatar de GLDavid
 
Inscription : janvier 2003
Messages : 2 620
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2003
Messages : 2 620
Points : 2 474
Points : 2 474
Bonjour

Alison, merci de mettre les balises codes D'autre part as-tu consulté notre pour Linux ? http://linux.developpez.com/faq/?page=devel#installationsunjvm

@++
__________________
GLDavid
Consultez la FAQ Perl ainsi que mes cours de Perl.
N'oubliez pas les balises code ni le tag

Je ne répond à aucune question technique par MP.
GLDavid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 16h59   #9
Futur Membre du Club
 
Inscription : février 2006
Messages : 27
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 27
Points : 17
Points : 17
Ok excuses moi pour les balises mais la faq linux ne m'a rien apprise!
alison239 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2006, 21h08   #10
Invité de passage
 
Inscription : février 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 4
Points : 1
Points : 1
MERCI A TOUS .
Je suis arrivé à compiler et exécuter mes fichiers java.

Le problème est le nom de package . J'ai mis en majuscule la 1ere lettre comme:
package Todo2email;
ça va pas!!!
J'ai changé comme: package todo2email; <--- mon dieu, elle fonctionne

*2 ieme chose, c'est que :

Citation:
javac ./Todo2email/*.java
java -cp ./Todo2email/ Todo2email.Todo2email

!!!!!! ---> Ells ont compilé . Mais le prog fonctionne pas !!

Exception in thread "main" java.lang.NoClassDefFoundError: Todo2email/Todo2email

Merci narmataru !
Citation:
La commande comme:
javac -cp /home/minh TodoList.java
puis , j'ai essayé :
java -cp /home/minh Todo2email.Todo2email
ça a fonctionné très bien . ??? (Majuscule)

Merci adiGuba
J'ai encore 1 ? : la commande "export" fait quoi ? ça permet de faire quoi ?
Merci beaucoup !!! :o
nmqm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2006, 08h34   #11
Membre Expert
 
Avatar de narmataru
 
Inscription : décembre 2002
Messages : 1 423
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : décembre 2002
Messages : 1 423
Points : 1 491
Points : 1 491
Citation:
Envoyé par nmqm
Citation:
javac ./Todo2email/*.java
java -cp ./Todo2email/ Todo2email.Todo2email

!!!!!! ---> Ells ont compilé . Mais le prog fonctionne pas !!

Exception in thread "main" java.lang.NoClassDefFoundError: Todo2email/Todo2email

Merci narmataru !
Citation:
La commande comme:
javac -cp /home/minh TodoList.java
puis , j'ai essayé :
java -cp /home/minh Todo2email.Todo2email
ça a fonctionné très bien . ??? (Majuscule)

Merci adiGuba
Effectivement j'avais écrit n'importe quoi La solution d'adiguba est bien la bonne
__________________
Reportage d'Arte sur Linux
narmataru est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h38.


 
 
 
 
Partenaires

Hébergement Web