Probleme compilation package sous linux - Java - Programmation
Marsh Posté le 09-01-2005 à 17:58:37
T'as du merdouiller dans ton copier/coller : y a 2 classes nombre, pas de classe reel ni de classe Entier.
Bref.
Ton problême est surement un problême de classpath. Il faut que tu fixe la variable systême à "/home/nicolas/testjava/" (la racine des répertoires contenant tes classes)
Marsh Posté le 09-01-2005 à 18:05:25
Voila j'ai modifier l'erreur . Le vais tester le classpath
C'est bien comme cela qu'il faut faire :
export CLASSPATH=/home/nicolas/testjava/
?????
Marsh Posté le 09-01-2005 à 18:15:37
je suis très nul en shell, mais je crois que ca ressemble à ca ouais ...
(toujours pas de trace d'un fichier Entier.java ...)
remarque : la convention veut que les noms de classes commencent par une majuscule.
Marsh Posté le 10-01-2005 à 09:54:28
Et est-ce que tu as compilé la classe Nombre ?
tu peux indiquer le classpath en ligne de commande avec l'option -cp.
Vu que tu as deux répertoire différents, tu auras les deux dans ton classpath (sauf si tu te mets dans l'un d'eux).
Pour tout compiler en même temps :
|
Marsh Posté le 10-01-2005 à 10:27:57
benou a écrit : Il faut que tu fixe la variable systême à "/home/nicolas/testjava/" (la racine des répertoires contenant tes classes) |
mais arrete avec ça bordel
il faut qu'ils la settent au runtime (et/ou compile time) et foutre la paix a la variable systeme
Marsh Posté le 10-01-2005 à 10:40:17
j'ai jamais dis qu'il l'ajoute à son profile ... si il le fait dans un shell ca n'affectera que le shell ouvert, pas tout le système
Marsh Posté le 10-01-2005 à 11:00:07
moi j'ai fais export CLASSPATH=$CLASSPATH:. dans mon profil et je vous merde
Marsh Posté le 10-01-2005 à 12:40:16
ça veut dire que t'as un CLASSPATH systeme pour tous les users () ou que ce que tu fais dans ton profil ne sert à rien
Marsh Posté le 10-01-2005 à 12:42:49
non, c'est uniquement pour mon compte, dans mon .bash_profil, je sais que c'est mal par principe, et je redefinis le CLASSPATH pour une appli au lancement quand j'ai besoin.
mais pour des petites classes a la main c'est pratique
Marsh Posté le 10-01-2005 à 12:57:09
ben euh si t'as pas de classpath, par defaut il sera à . hein ...
Marsh Posté le 10-01-2005 à 13:09:44
ReplyMarsh Posté le 10-01-2005 à 13:13:03
ReplyMarsh Posté le 10-01-2005 à 17:20:46
the real moins moins a écrit : ben euh si t'as pas de classpath, par defaut il sera à . hein ... |
bha non ...
Marsh Posté le 10-01-2005 à 17:43:59
ben si ... ou alors on se comprends mal
Moi je comprends, que tu spécifie pas de classpath en option, ou pas la variable d'env CLASSPATH, le classpath comprend de toutes façons . !
Marsh Posté le 10-01-2005 à 17:56:05
faudrait peut etre arreter de conseiller l'utilisation de la variable systeme classpath
deuxiemement : met chaque class dans un package !!!
Marsh Posté le 10-01-2005 à 18:54:12
bobuse a écrit : ben si ... ou alors on se comprends mal |
Je sais pas. moi ce que je dis c'est que si tu ne spécifie aucun classpath, il n'a pas de valeur par défaut => même le rep courant n'est pas utilisé pour chercher les .class.
On a déjà assez eu de topic de débutant qui ne comprenaient pas pkoi le compilateur gueulait ...
Marsh Posté le 11-01-2005 à 12:00:46
sans tricher
Code :
|
Marsh Posté le 11-01-2005 à 15:04:32
Reply
Marsh Posté le 08-01-2005 à 23:47:38
Salut !
Voila j'ai un probléme en java avec les packages (je suis débutant)
Voici quelques infos utile :
Je suis sous linux mandrake 10.1 et utilise emacs :-)
Le jdk que j'utilise est la version 1.4.2.06 (j2sdk-1_4_2_06-linux-i586.rpm)
Voila dans le dossier nombre contient mon package nombre
file:/home/nicolas/testjava/nombre/Nombre.java
file:/home/nicolas/testjava/nombre/entier.java
A la racine du dossier de mon projet il ya :
file:/home/nicolas/test/testnombre.java
Bon voici le code, c'est sur ca sert a rien mais je veut juste trouver l'erreur pour la corriger sur un gros projet ( merci d'avance )
=========================
package nombre;
public class Nombre{
public Nombre(){
System.out.println("Constructeur nombre" );
}
}
================================
package nombre;
public class entier{
Nombre[][] tab;
public entier(){
System.out.println("Constructeur nombre" );
}
}
===================================
import nombre.*;
public class testnombre{
public static void main(String args[]){
System.out.println("Salut" );
}
}
======================================
Voici l'erreur obtenue
[nicolas@localhost nombre]$ javac Entier.java
Entier.java:5: cannot find symbol
symbol : class Nombre
location: class nombre.Entier
Nombre[][] tab;
^
1 error
Voila merci de maider à trouver l'erreur .........
Je pense que ca vient de la declaration des package et (classpath) sous linux car cela marche avec netbeans (mais bon je suis pas sur).
Message édité par tich62 le 09-01-2005 à 19:17:59