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

    [Tomcat] Chiarimenti su classpath

    Ciao a tutti!
    Sul mio server unix ho installato per la prima volta apache tomcat alla versione 5.5.20
    Ho creato una webapp che utilizza le jar del mysql-connector.
    Il mio problema e' che di questa jar ne ho due versioni, una situata nel classpath di sistema:
    /usr/lib/java/jre/lib/ext, e un'altra situata sotto la directory di tomcat shared/lib.
    Il mio problema e' che quando tomcat deve utilizzare la libreria di mysql-connector, utilizza quella situata nel classpath /usr/lib/java/jre/lib/ext invece di utilizzare quella sotto shared/lib.
    Come posso fargli capire di leggere una libreria piuttosto che un'altra?

    Ciao grazie.

  2. #2

  3. #3
    Utente di HTML.it L'avatar di nether
    Registrato dal
    Dec 2006
    Messaggi
    376
    io nei miei progetti generalmente includo una sottocartella "lib" contenente tutte le librerie necessarie al loro funzionamento. Quindi, all'interno dell'IDE che utilizzo, cambio le proprieta' del progetto e definisco li' il classpath: e' li' che specifico di andare a prendere tutto quanto dalla mia cartella "lib" interna al progetto.

  4. #4
    Si, ma quelle sono relative al progetto... Nel mio caso quelle della webapp.
    Il mio problema e' a monte, Tomcat inizializza il suo classpath, ed e' proprio lui a gestirsi le connessioni al db, per poi passarle alla webapp!

  5. #5
    Utente di HTML.it L'avatar di nether
    Registrato dal
    Dec 2006
    Messaggi
    376
    scusa, avevo letto veramente male e non avevo affatto capito che il problema era relativo alle connessioni al db (immagino dichiarate in un file xml e utilizzate pescandole attraverso jndi come datasource).

    ho guardato 30 secondi la documentazione di tomcat 5.5 e ribadisce piu' volte (con termini leggermente differenti):
    Use of the JDBC Data Sources JNDI Resource Factory requires that you make an appropriate JDBC driver available to both Tomcat internal classes and to your web application. This is most easily accomplished by installing the driver's JAR file(s) into the $CATALINA_HOME/common/lib directory, which makes the driver available both to the resource factory and to your application.
    mi sembra davvero strano che non te la vada a pescare da li'.

    nota: qui parla di /common/lib, mentre tu avevi scritto /shared/lib... ma probabilmente ti sei confuso

  6. #6
    Ho provato in entrambe, ma la priorità e' sempre quella del classpath di sistema /usr/lib/java/jre/lib/ext!

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.