Неизвестный пакет, основные ошибки

Кажется, это очень простая проблема, но я не понимаю. Я пытаюсь компьютеризировать хранилище / инвентарь с помощью Java EE, JSP и tomcat (кстати, я француз, заранее извините за языковые ошибки)

Что я здесь пытался сделать:

У меня есть файл Excel (.xls), который выполняет роль базы данных. Я читаю файл .xls и определяю для каждой строки объект ("Outil" в переводе "Инструмент"), как вы можете видеть в "CommandeOutils.java" ("/ WEB-INF / классы / pac / cmd").

package pac.cmd;

import javax.servlet.http.HttpServletRequest;

import java.io.FileInputStream;
import java.io.FileOutputStream;

import org.apache.poi.ss.usermodel.*;
import pac.bdd.beans.Outil;

/**CommandeOutils.java*/
public class CommandeOutils implements Commande
{
private final String next;

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;
}

}

Мой объект "Outil" определен в классе "Outil" ("/ 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*/
}

В "outils.jsp" я просто печатаю for (int i = 0; i < CommandeOutils.outil.length; i++) в таблице с примером для элемента out.println("<li>" + CommandeOutils.outil[i].getDesignation() + "</li>");

Я компилирую вручную (тот же результат, если я перекомпилирую с помощью Intellij Idea), и я получил это, я уже писал темы об этой проблеме, я много пробовал и не понимаю, я не знаю, проблема ли это компиляции , проблема с пакетом, дерево папок, импорт ...

    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

Заранее спасибо

проверьте этот https://stackoverflow.com/a/25706217/3714122, чтобы исправить ошибку cannot find symbol.

Srinu 02.05.2018 13:11

Я публикую здесь, потому что я нахожусь в контексте Java EE, некоторые правила определены, проблемы во многих случаях разные. Вот не знаю ..

CocoLm 02.05.2018 13:33
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
65
1

Ответы 1

Я мог видеть, что вы компилируете только файлы java в папке classes\pac\cmd\*.java, это будет компилировать только файлы и не будет компилировать расположение файлов java pac\bdd\beans\.

Сначала вам нужно скомпилировать расположение java-файлов pac\bdd\beans\, потому что ваш класс зависит от другого класса, которым является этот пакет, позже попытайтесь скомпилировать файлы java в расположении classes\pac\cmd\.

image.ibb.co/bNxZ4S/Project_Tree.jpg, класс .class уже есть, скажите мне, если вам нужно больше точности.
CocoLm 02.05.2018 14:07

Другие вопросы по теме