Classe dans un package et un autre non, accès impossible ?

Classe dans un package et un autre non, accès impossible ? - Java - Programmation

Marsh Posté le 19-02-2003 à 19:57:54    

Voila j'ai un programme (ou projet) dont une classe(A1) (dans un package (A)) qui utilise une autre classe(B1) qui n'est dans aucun package, c'est normal que cette classe(A1) ne peut pas avoir accés à cette classe(B1).
 
Merci de votre aide

Reply

Marsh Posté le 19-02-2003 à 19:57:54   

Reply

Marsh Posté le 19-02-2003 à 20:24:03    

Bin faut faire l'import de la classe, quoi. Genre import A.A1;

Reply

Marsh Posté le 19-02-2003 à 20:55:31    

Non je veux utiliser la classe B (qui n'est dans aucun package), dans le classe A (qui est dans un package). :pt1cable:  
 
@+
 

Reply

Marsh Posté le 19-02-2003 à 20:57:28    

ben fous la classe B dans un package, c'est la moindre des choses :o
sinon, essaies import B ou import .B au hasard  :pt1cable:

Reply

Marsh Posté le 19-02-2003 à 21:16:15    

je viens de faire des tests et à priori on peut pas ... :(
 
bizarre !  

Reply

Marsh Posté le 19-02-2003 à 21:19:56    

benou a écrit :


bizarre !  


 
C'est bien, ça force un peu les gens à ranger leurs classes correctement.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 19-02-2003 à 21:33:30    

kadreg a écrit :


C'est bien, ça force un peu les gens à ranger leurs classes correctement.


je trouve pas ca logique môa !

Reply

Marsh Posté le 19-02-2003 à 21:41:37    

Chez moi ca marche :  
 
B1.java :  

Code :
  1. public class B1 {
  2. public void toto () {
  3.  System.out.println ("hello" );
  4. }
  5. }


 
A1.java :  
 

Code :
  1. package monpackage;
  2. import B1;
  3. /**
  4. * @author kadreg
  5. *
  6. * To change this generated comment edit the template variable "typecomment":
  7. * Window>Preferences>Java>Templates.
  8. * To enable and disable the creation of type comments go to
  9. * Window>Preferences>Java>Code Generation.
  10. */
  11. public class A1 {
  12. public static void main (String argv[]) {
  13.   B1 titi = new B1 ();
  14.   titi.toto ();
  15. }
  16. }


 
Et ça marche. Le import est important. Par contre, si je demande à eclipse de me calculer les imports, il me vire le import B1 et ça ne compile plus :o


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 19-02-2003 à 22:37:46    

ben moi ca marche pas :  
 
E:\sources\java\Truc.java

Code :
  1. public class Truc {}


 
E:\sources\java\test\Machin.java :  

Code :
  1. package test;
  2. import Truc;
  3. public class Machin {
  4.    public static void main (String[] args) {
  5.       new Truc();
  6.    } 
  7. }


 

Citation :


E:\sources\java>javac -classpath . test\Machin.java
test\Machin.java:3: '.' expected
import Truc;
           ^
test\Machin.java:9: cannot resolve symbol
symbol  : class Truc
location: class test.Machin
      new Truc();
          ^
2 errors


 

Reply

Marsh Posté le 19-02-2003 à 22:38:52    

en gros, il accepte pas de import qui ne contient pas de '.'
 
c'est quoi ta jdk ? moi c'est j2sdk1.4.0_02

Reply

Marsh Posté le 19-02-2003 à 22:38:52   

Reply

Marsh Posté le 19-02-2003 à 22:59:42    

benou a écrit :


c'est quoi ta jdk ? moi c'est j2sdk1.4.0_02


 
java version "1.4.0_01-ea"


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 19-02-2003 à 23:26:20    

benou c'est parce que tu dois compiler depuis le root. Sinon il ne prend pas ton package en compte ;)
 
Mets toi dans le root (là ou il y a la classe truc et fait
 

Citation :


export CLASSPATH=.:$CLASSPATH (linux)
set CLASSPATH=.;%CLASSPATH% (windows)


 
ensuite
 

Citation :


javac Truc.java


 
ensuite au lieu d'aller dans test fait (dans le meme répertoire sans aller dans test)
 

Citation :


javac test/Machin.java


 
JDK 1.3.1_06 ca fonctionne :)


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 19-02-2003 à 23:58:17    

t'es gentil dark, tu me prend pour qui ???
 
relie ce que j'ai marqué. Y a la ligne de commande que j'ai faite :  

Citation :

E:\sources\java>javac -classpath . test\Machin.java  


j'ai même mit le -classpath pour qu'il y ait pas d'ambiguité !
 
edit : tu me vexes là ! :'(


Message édité par benou le 20-02-2003 à 00:00:52
Reply

Marsh Posté le 20-02-2003 à 00:04:49    

benou a écrit :

edit : tu me vexes là ! :'(


 
bin non je suis d'accord mais pourquoi
 
www.chezmoicamarche.org alors? [:spamafote]
 
Au fait pour les détails c'est pour etre complet je sais que tu sais setter un classpath hein ;)


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 20-02-2003 à 00:16:13    

je comprend pas pourquoi ca marche pas chez moi  :cry:  
 
en plus le message du compilo est clair : il attend un . dans mon import !  :(

Reply

Marsh Posté le 20-02-2003 à 09:08:47    

tu as compilé truc avant machin?


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 20-02-2003 à 09:18:56    

DarkLord a écrit :

tu as compilé truc avant machin?


bha oui. [:spamafote]

Reply

Marsh Posté le 20-02-2003 à 09:19:25    

c'est vraiment bizarre ca truc ... C'est quoi ta config? :D


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 20-02-2003 à 09:24:08    

DarkLord a écrit :

c'est vraiment bizarre ca truc ... C'est quoi ta config? :D


ben ouais, je comprend pas !  :heink:  
 
win2000, j2sdk1.4.0_02, souris IntelliMouse-Optical :D

Reply

Marsh Posté le 12-06-2003 à 09:56:33    

benou a écrit :


ben ouais, je comprend pas !  :heink:  
 
win2000, j2sdk1.4.0_02, souris IntelliMouse-Optical :D
 


 
J'ai le même pb sous XP, plus généralement y a de gros pb avec le compilo 2k (et aparement xp) dès qu'on met des packages et c très chiant, si tu trouve une solution ça m'interresse :D


---------------
Le Tyran
Reply

Marsh Posté le 12-06-2003 à 13:52:55    

Et essaie ça :  
 
Tu vires les classes, et tu fais : javac -cp . -sourcepath . test/Machin.java
 
dans le répertoire qui contient Test.java
 
pour voir...

Reply

Marsh Posté le 12-06-2003 à 14:21:16    

gfive a écrit :

Et essaie ça :  
 
Tu vires les classes, et tu fais : javac -cp . -sourcepath . test/Machin.java
 
dans le répertoire qui contient Test.java
 
pour voir...


 
C déjà ce que je fais perso et ça ne marche pas.


---------------
Le Tyran
Reply

Marsh Posté le 12-06-2003 à 20:55:41    

et utiliser une vraie jdk au lieu de celle de windows peut etre? [:kiki]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed