[Java EE] Problème visibilité Classe
Résolu
CocoLm
-
CocoLm -
CocoLm -
Bonjour à tous, je fais du Java EE - JSP avec Tomcat
Cela semble être une erreur de base, mais je n'y arrive pas ici. J'informatise un inventaire. J'essaie de lire fichier Excel .xls qui aura le rôle de base de données, chaque ligne créera un objet "Outil" et chaque colonne sera liée à un attribut d'"Outil".
Ce traitement est fait dans le fichier "CommandeOutils.java" ("/WEB-INF/classes/pac/cmd").
Ma classe Outil défini l'objet du même nom ("/WEB-INF/classes/pac/bdd/beans").
Dans outils.jsp je fais boucler mon tableau d'Outils pour tous les afficher sur la page, je compile manuellement (même résultat qu'après avoir recompilé avec Intellij) et voici ces erreurs sur lesquelles je bloque, j'ai lu beaucoup de sujets mais le contexte Java EE rend la chose moins commune et plus compliquée pour moi. Je ne sais pas si c'est un problème de compilation, de package, d'import, de placement de fichier dans arborescence..
Arborescence des fichiers : https://image.ibb.co/bNxZ4S/Project_Tree.jpg
Merci d'avance
Cela semble être une erreur de base, mais je n'y arrive pas ici. J'informatise un inventaire. J'essaie de lire fichier Excel .xls qui aura le rôle de base de données, chaque ligne créera un objet "Outil" et chaque colonne sera liée à un attribut d'"Outil".
Ce traitement est fait dans le fichier "CommandeOutils.java" ("/WEB-INF/classes/pac/cmd").
private static FileOutputStream fos; private static Row row; private static Cell cell; public static Outil[] outil; public CommandeOutils(String next) { this.next = next; } public String execute(HttpServletRequest req) throws Exception { FileInputStream fis = new FileInputStream("C:\\Users\\lomoc\\Desktop\\INVENTAIRE_NOUVEAU_OUTILLAGE.xls"); Workbook wb = WorkbookFactory.create(fis); Sheet sh = wb.getSheet("listing"); int noOfRows = sh.getLastRowNum(); for (int i = 1; i < noOfRows; i++) { if (sh.getRow(i) == null) { break; } outil[i] = new Outil(sh.getRow(i).getCell(0).getStringCellValue(), (sh.getRow(i).getCell(1).getStringCellValue()), sh.getRow(i).getCell(2).getStringCellValue(), sh.getRow(i).getCell(3).getStringCellValue(), sh.getRow(i).getCell(4).getStringCellValue(), sh.getRow(i).getCell(5).getDateCellValue(), sh.getRow(i).getCell(6).getDateCellValue(), sh.getRow(i).getCell(7).getBooleanCellValue(), sh.getRow(i).getCell(8).getBooleanCellValue(), sh.getRow(i).getCell(9).getDateCellValue(), sh.getRow(i).getCell(10).getDateCellValue(), sh.getRow(i).getCell(11).getStringCellValue(), sh.getRow(i).getCell(12).getStringCellValue(), sh.getRow(i).getCell(13).getStringCellValue(), sh.getRow(i).getCell(14).getStringCellValue(), sh.getRow(i).getCell(15).getDateCellValue(), sh.getRow(i).getCell(16).getBooleanCellValue(), sh.getRow(i).getCell(17).getBooleanCellValue()); } req.setCharacterEncoding("UTF-8"); req.getServletContext().getRequestDispatcher( "/WEB-INF/outils.jsp" ); return next; }
Ma classe Outil défini l'objet du même nom ("/WEB-INF/classes/pac/bdd/beans").
package pac.bdd.beans; import java.util.Date; public class Outil { private String designation; private String numInterne; private String numSerie; private String marque; private String classement; private Date dateAchat; private Date dateFinDeVie; private boolean verifInterne; private boolean verifExterne; private Date derniereVerification; private Date prochaineVerification; private String observation; private String utilisateur; private String dateSortie; private String utilisateurPrecedent; private Date dateRetour; private boolean conforme; private boolean nonConforme; public Outil(String designation, String numInterne, String numSerie, String marque, String classement, Date dateAchat, Date dateFinDeVie, boolean verifInterne, boolean verifExterne, Date derniereVerification, Date prochaineVerification, String observation, String utilisateur, String dateSortie, String utilisateurPrecedent, Date dateRetour, boolean conforme, boolean nonConforme) { this.designation = designation; this.numInterne = numInterne; this.numSerie = numSerie; this.marque = marque; this.classement = classement; this.dateAchat = dateAchat; this.dateFinDeVie = dateFinDeVie; this.verifInterne = verifInterne; this.verifExterne = verifExterne; this.derniereVerification = derniereVerification; this.prochaineVerification = prochaineVerification; this.observation = observation; this.utilisateur = utilisateur; this.dateSortie = dateSortie; this.utilisateurPrecedent = utilisateurPrecedent; this.dateRetour = dateRetour; this.conforme = conforme; this.nonConforme = nonConforme; } /*Hidden Getters & Setters*/ }
Dans outils.jsp je fais boucler mon tableau d'Outils pour tous les afficher sur la page, je compile manuellement (même résultat qu'après avoir recompilé avec Intellij) et voici ces erreurs sur lesquelles je bloque, j'ai lu beaucoup de sujets mais le contexte Java EE rend la chose moins commune et plus compliquée pour moi. Je ne sais pas si c'est un problème de compilation, de package, d'import, de placement de fichier dans arborescence..
C:\Users\lomoc\Cours\S4\JSP\webapps\V4_2\WEB-INF>javac classes\pac\cmd\*.java
classes\pac\cmd\CommandeOutils.java:9: error: package pac.bdd.beans does not exist
import pac.bdd.beans.Outil;
^
classes\pac\cmd\CommandeOutils.java:19: error: cannot find symbol
public static Outil[] outil;
^
symbol: class Outil
location: class CommandeOutils
classes\pac\cmd\CommandeOutils.java:37: error: cannot find symbol
outil[i] = new Outil(sh.getRow(i).getCell(0).getStringCellValue(),
(sh.getRow(i).getCell(1).getStringCellValue()),
^
symbol: class Outil
location: class CommandeOutils
3 errors
Arborescence des fichiers : https://image.ibb.co/bNxZ4S/Project_Tree.jpg
Merci d'avance
A voir également:
- [Java EE] Problème visibilité Classe
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
1 réponse
Bonjour,
Ton seul problème c'est la compilation ?
Quant aux librairies (poi et postgresql) il faudra aussi les ajouter au classpath à la compilation, sinon il ne sait pas où aller chercher les classes qui correspondent.
À tester :
Remarque : quand on commence à faire du Java EE, il faut utiliser les outils qui vont avec. Ecrire à la main la commande de compilation, ça va rapidement devenir ingérable, sans parler après de l'exécution du serveur.
Tu devrais regarder Débuter avec Maven et Application Web JSP/Jetty avec Maven (+ un exemple de code).
Ton seul problème c'est la compilation ?
javac classes\pac\cmd\*.java: ici tu ne compiles que le package pac.cmd, mais tu ne lui as pas précisé où il pouvait trouver les classes pac.bdd.beans que tu importes, le mieux serait de les compiler en même temps.
Quant aux librairies (poi et postgresql) il faudra aussi les ajouter au classpath à la compilation, sinon il ne sait pas où aller chercher les classes qui correspondent.
À tester :
javac -cp lib/poi.jar;lib/poi-ooxml-3.5-FINAL.jar;postgresql-8.4-703.jdbc4.jar classes/pac/*.java classes/pac/bdd/beans/*.java classes/pac/cmd/*.java
Remarque : quand on commence à faire du Java EE, il faut utiliser les outils qui vont avec. Ecrire à la main la commande de compilation, ça va rapidement devenir ingérable, sans parler après de l'exécution du serveur.
Tu devrais regarder Débuter avec Maven et Application Web JSP/Jetty avec Maven (+ un exemple de code).
Malheureusement, je suis assidu, et c'est comme ça que j'ai appris lors de mon DUT Informatique, je suis aujourd'hui en stage. Les librairies je les avait importé directement dans mes variables d'environnement, du coup avec la même commande sans les librairies, la compilation s'est faite, j'ai des erreurs mais bien autre chose, je te remercie, je vais voir si Maven ne prend pas trop de temps à apprendre. Encore merci, bonne journée.