[JAVA] exécution projet multi-package

exécution projet multi-package [JAVA] - Java - Programmation

Marsh Posté le 25-11-2018 à 19:19:52    

Bonjour,
 
je viens vers vous suite à un problème que je n'arrive pas à résoudre sur un projet.
 
Mon projet à l'arborescence suivante (on ne peut pas la modifier, cela fait partie des exigences) :
 
.  
+-- logger/
|  +-- src/
|  |   +-- logger/
|  |       +-- (*.java)
|  +-- bin/
+-- restaurant/
|  +-- src/
|  |   +-- restaurant/
|  |       +-- (*.java)
|  +-- bin/
+-- compile.sh
+-- test.sh
 
 
 
Mon fichier compile.sh est le suivant :  
 

Code :
  1. rm -r logger/bin
  2. mkdir logger/bin
  3. javac -d logger/bin $(find logger/src -name *.java)
  4. rm -r restaurant/bin
  5. mkdir restaurant/bin
  6. javac -classpath logger/bin -d restaurant/bin $(find restaurant/src -name *.java)


 
 
Il compile bien ce que je lui demande, et où je lui demande (dans les répertoires bin des packages concernés).
 
Ma classe Caisse.java est celle qui contient le main est la suivante :  
 

Code :
  1. package restaurant.src.restaurant;
  2. public class Caisse { public static void main(String[] args) {
  3.     [...]
  4. }


 
 
Maintenant que tout mon code est compilé, j'essaie de l'exécuter, et là je bloque.
 
Mon fichier supposé lancer cette classe est :  
 

Code :
  1. java -classpath logger/bin:restaurant/bin restaurants.src.restaurant.Caisse


 
 
Et j'ai le droit à l'erreur suivante :  
 

Citation :

Erreur : impossible de trouver ou charger la classe principale restaurants.src.restaurant.Caisse


 
 
Merci d'avance pour votre aide, j'espère avoir été assez clair dans l'explication de mon problème :)


Message édité par Corentin-F le 25-11-2018 à 19:21:11
Reply

Marsh Posté le 25-11-2018 à 19:19:52   

Reply

Marsh Posté le 30-11-2018 à 11:38:19    

Tente de renommer ton package restaurant, tout court.
 
J’imagine que c'est un devoir pour un cours de Java?
C'est franchement débile de vous faire compiler un projet multi-modules avec des scripts shell. :/


---------------
click clack clunka thunk
Reply

Marsh Posté le 02-12-2018 à 15:41:09    

Bonjour,
 
j'ai fini par trouver la solution, et oui c'était bien ça qu'il fallait faire.
 
Oui c'est exactement ça.
Je suis tout à fait d'accord avec toi, j'ai déjà eu des cours de Java et on ne m'avait jamais demandé ça avant, d'autant plus que c'est contradictoire avec l'utilisation d'un IDE car pour lui chaque dossier est un package...

Reply

Marsh Posté le 19-01-2019 à 16:19:32    

Bonjour,
 
C'est un problème très fréquent, généralement, caché par les éditeurs (NetBenas et Eclipse).
Il faut expliquer toujours qu'un package = un dossier pour chaque niveau https://www.minimilitia.mobi/, https://www.applock.ooo/, https://www.applock.ooo/, ainsi, le package :
        com.sun.java  
Crée un dossier java à l'intérieur d'un dossier sun qui est à son tour à l'intérieur d'un dossier sun


Message édité par nnour le 20-01-2019 à 22:37:33
Reply

Sujets relatifs:

Leave a Replay

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