这似乎是一个非常简单的问题,但我无法得到它。 我试图用Java EE,JSP和tomcat计算机化存储/库存(顺便说一句,我是法语,对于语言错误提前抱歉)
我在这里尝试做什么:
我有一个Excel文件(.xls),它保存数据库的角色。 我阅读.xls文件并为每一行定义一个对象(" Outil"通过翻译它' sa"工具"),你可以在" CommandeOutils.java&中看到#34; (" / WEB-INF /类/ PAC / CMD&#34)。
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;
}
}
我的&#34; Outil&#34;对象在&#34; Outil&#34;中定义。 class(&#34; / WEB-INF / classes / pac / bdd / beans&#34;)。
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*/
}
在&#34; outils.jsp&#34;中,我只是在一个表中打印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
先谢谢
答案 0 :(得分:0)
我可以看到你只编译classes\pac\cmd\*.java
文件夹中的java文件,这只会编译文件而不会编译java文件pac\bdd\beans\
位置。
你需要先编译java文件pac\bdd\beans\
位置,因为你的类依赖于另一个类,这个包稍后会尝试编译classes\pac\cmd\
位置的java文件。