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

  FORUM HardWare.fr
  Programmation
  Java

  Probleme compilation package sous linux

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme compilation package sous linux

n°949388
tich62
Posté le 08-01-2005 à 23:47:38  profilanswer
 

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
mood
Publicité
Posté le 08-01-2005 à 23:47:38  profilanswer
 

n°949485
benou
Posté le 09-01-2005 à 17:58:37  profilanswer
 

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)


---------------
ma vie, mon oeuvre - HomePlayer
n°949490
tich62
Posté le 09-01-2005 à 18:05:25  profilanswer
 

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/
?????

n°949498
benou
Posté le 09-01-2005 à 18:15:37  profilanswer
 

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.


---------------
ma vie, mon oeuvre - HomePlayer
n°949784
bobuse
Posté le 10-01-2005 à 09:54:28  profilanswer
 

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 :


find /home/nicolas/testjava/ /home/nicolas/test -name "*.java" | xargs javac -cp /home/nicolas/testjava/:/home/nicolas/test/


---------------
get amaroK plugin
n°949820
the real m​oins moins
Posté le 10-01-2005 à 10:27:57  profilanswer
 

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 [:sisicaivrai]
il faut qu'ils la settent au runtime (et/ou compile time) et foutre la paix a la variable systeme [:sisicaivrai]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°949831
benou
Posté le 10-01-2005 à 10:40:17  profilanswer
 

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


---------------
ma vie, mon oeuvre - HomePlayer
n°949841
uriel
blood pt.2
Posté le 10-01-2005 à 11:00:07  profilanswer
 

moi j'ai fais export CLASSPATH=$CLASSPATH:. dans mon profil et je vous merde


---------------
IVG en france
n°949908
the real m​oins moins
Posté le 10-01-2005 à 12:40:16  profilanswer
 

ça veut dire que t'as un CLASSPATH systeme pour tous les users ([:totoz]) ou que ce que tu fais dans ton profil ne sert à rien


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°949910
uriel
blood pt.2
Posté le 10-01-2005 à 12:42:49  profilanswer
 

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 [:joce]


---------------
IVG en france
mood
Publicité
Posté le 10-01-2005 à 12:42:49  profilanswer
 

n°949922
the real m​oins moins
Posté le 10-01-2005 à 12:57:09  profilanswer
 

ben euh si t'as pas de classpath, par defaut il sera à . hein ...


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°949939
uriel
blood pt.2
Posté le 10-01-2005 à 13:09:44  profilanswer
 

t'es sur :??:  
 
 bon, ben crotte alors :/


---------------
IVG en france
n°949945
the real m​oins moins
Posté le 10-01-2005 à 13:13:03  profilanswer
 

oui


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°950180
benou
Posté le 10-01-2005 à 17:20:46  profilanswer
 

the real moins moins a écrit :

ben euh si t'as pas de classpath, par defaut il sera à . hein ...


 :heink: bha non ...


---------------
ma vie, mon oeuvre - HomePlayer
n°950202
bobuse
Posté le 10-01-2005 à 17:43:59  profilanswer
 

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 . !


---------------
get amaroK plugin
n°950212
beemer
Posté le 10-01-2005 à 17:56:05  profilanswer
 

faudrait peut etre arreter de conseiller l'utilisation de la variable systeme classpath  :pfff:  
deuxiemement : met chaque class dans un package !!!

n°950254
benou
Posté le 10-01-2005 à 18:54:12  profilanswer
 

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 ...


---------------
ma vie, mon oeuvre - HomePlayer
n°950636
bobuse
Posté le 11-01-2005 à 12:00:46  profilanswer
 

sans tricher :o

Code :
  1. [dumoulin@cemagref-lm0lp4 ~/tmp/java1]$cat Plop1.java
  2. public class Plop1 {
  3.         public static void main(String[] args) {
  4.                 System.out.println("plop" );
  5.         }
  6. }
  7. [dumoulin@cemagref-lm0lp4 ~/tmp/java1]$javac Plop1.java
  8. [dumoulin@cemagref-lm0lp4 ~/tmp/java1]$echo $CLASSPATH
  9. [dumoulin@cemagref-lm0lp4 ~/tmp/java1]$alias java
  10. bash: alias: java: not found
  11. [dumoulin@cemagref-lm0lp4 ~/tmp/java1]$java Plop1
  12. plop


Message édité par bobuse le 11-01-2005 à 12:01:21

---------------
get amaroK plugin
n°950796
benou
Posté le 11-01-2005 à 15:04:32  profilanswer
 

bha mince alors ...
je tente chez moi ce soir ...


---------------
ma vie, mon oeuvre - HomePlayer

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

  Probleme compilation package sous linux

 

Sujets relatifs
problème de positionnement du texte avec Firefoxprobleme liens
[résolu] problème pour récupérer variablesprobleme avec controle de formulaire
Equivalent de GetCursoPos() sous Linux ...[resolu]petit probleme d'insertion dans une bdd Mysql
[usb.h] Comment utiliser /usr/src/linux-2.4.20-8/includ e/linux/usb.hProbleme avec empty
[JAVA] package javax.servlet does not existproblème redirection site web
Plus de sujets relatifs à : Probleme compilation package sous linux


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR