Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [jsp-java]

    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

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    D'accordo che hai correttamente specificato il linguaggio, ma mancava il titolo.

    L'ho aggiunto io.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    ops... hai ragione, scusa... è la prima volta che uso questo forum

    cmq... questo problema l'ho risolto: ho scoperto che dentro la cartella WEB-INF/classes ci vanno anche i sorgenti, non solo i file .class.

    Grazie lo stesso!
    Dario

  4. #4
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    assolutamente no, il problema è un altro, forse di classpath

  5. #5
    assolutamente no, il problema è un altro, forse di classpath
    Ecco, bravo... effettivamente non è che abbia risolto proprio completamente, e il classpath potrebbe averci messo lo zampillo:

    Praticamente adesso la pagina di tomcat mi dice che non riesce a compilare per motivi di questo tipo:

    javax.servlet.ServletException: Unresolved compilation problems:
    The import javax.xml.rpc cannot be resolved
    The import org.activebpel cannot be resolved
    The import org.activebpel cannot be resolved
    The import org.activebpel cannot be resolved
    The import org.apache cannot be resolved
    The import org.dom4j cannot be resolved
    The import org.dom4j cannot be resolved
    The import org.dom4j cannot be resolved
    The import org.dom4j cannot be resolved
    The import org.dom4j cannot be resolved


    Ora, i files jar che contengono quegli import (controllato e ricontrollato che siano giusti) li ho messi sotto WEB-INF/lib, ma non funziona per il suddetto problema. Un problema di classpath potrebbe spiegare le due cose, penso. Ma non so più dove guardare! Tomcat utilizza come classpath le sue cartelle common/lib, shared/lib e lamiaapplicazione/WEB-INF/lib quando esegue qualcosa, giusto? C'è qualche dettaglio che mi sto perdendo?

    Qualche consiglio?

    Grazie,
    Dario

  6. #6
    il problema degli import l'ho risolto... ma non so come :quote:
    Semplicemente ho fatto piazza pulita di tutti i jar che c'erano sia in tomcat che nella mia applicazione (per fare in fretta, ne avevo messo un bel mazzo, dato che non ero sicuro di quali in particoalre mi servissero). In tutto questo casotto, avevo messo più volte lo stesso jar ma con nomi diversi... che so... axis.jar e axis-1.2.1.jar... E' possibile che si odiassero talmente tanto che mi mandavano in frantumi tutto? Qualcuno sa confermarmi questa cosa?

    Invece per il problema del classpath sinceramente non so come fare. Credo che bisogna settarlo nel file manifest.mf e inserire questo file nel pacchetto war tramite l'opzione 'f', giusto? Cioè:

    jar cvfm myapp.war mymanifestFile.mf -C myappDir [files]

    Però dato che adesso funziona non mi pongo il problema: sono un pò affrettato per fare 'sto lavoro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.