Ciao a tutti, spero mi possiate aiutare.
Ho un file jsp che richiama delle classi java tramite apposite import:
<%@ page
language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"
import="com.xxx.yyy.demo.bpel.proxy.*, java.util.*"%>
Le classi che utilizzo all'interno del package [...].proxy sono BpelProxy e ProcessDescriptor, che utilizzo in questa maniera per ottenere dei dati:
BpelProxy proxy = new BpelProxy();
proxy.updateProcessList();
Map sortedProcesses = new TreeMap<Long,ProcessDescriptor>(proxy.processes);
Tutto il package è compilato, è risiede nella directory WEB-INF/classes.
Utilizzando Tomcat 5.5 (non ho provato con altri ma non credo che sia un problema di Tomcat) quando richiamo la pagina jsp ottengo questo errore:
org.apache.jasper.JasperException: Unable to compile class for JSP
An error occurred at line: 29 in the jsp file: /process.jsp
Generated servlet error:
The type xxx.yyy.demo.bpel.proxy.ProcessDescriptor cannot be resolved. It is indirectly referenced from required .class files
org.apache.jasper.servlet.JspServletWrapper.handle JspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
org.apache.jasper.JasperException: Unable to compile class for JSP
An error occurred at line: 29 in the jsp file: /process.jsp
Generated servlet error:
The type xerox.smartdocuments.demo.bpel.proxy.ProcessDescri ptor cannot be resolved. It is indirectly referenced from required .class files
org.apache.jasper.compiler.DefaultErrorHandler.jav acError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacEr ror(ErrorDispatcher.java:328)
org.apache.jasper.compiler.JDTCompiler.generateCla ss(JDTCompiler.java:413)
org.apache.jasper.compiler.Compiler.compile(Compil er.java:297)
org.apache.jasper.compiler.Compiler.compile(Compil er.java:276)
org.apache.jasper.compiler.Compiler.compile(Compil er.java:264)
org.apache.jasper.JspCompilationContext.compile(Js pCompilationContext.java:563)
org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:303)
org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
Quindi tomcat va a cercare la classe non nel package com.xxx.yyy.... ma nel package xxx.yyy... (sotto $tomcat/webapps/{mia applicazione}/WEB-INF/classes c'è tutto). Non capisco perchè. Le classi sono correttamente funzionanti. In realtà lo era tutta l'applicazione perchè l'avevo già testata su un altro computer con un altro tomcat. Magari è qualcosa nella configurazione di tomcat... boh?
Qualcuno sa darmi una mano? Gliene sarei molto grato!!!
Grazie a tutti,
Dario