Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    615

    Librerie di un'applicazione JSP nel posto giusto

    Carissimi,
    per diverse ragioni (innanzitutto banda di traffico e affidabilità) sto cambiando provider e passando a server24.it dietro consiglio di numerosi colleghi.

    Tra i vantaggi rispetto al mio vecchio provider, una enorme elasticità nella configurazione del mio account (per ora server virtuale, dopo un paio di mesi di prova passerò di sicuro ad un dedicato) e quindi anche nella collocazione di tutte le librerie necessarie alla mia applicazione (ora sotto web-inf/lib della cartella della mia applicazione, soluzione non particolarmente elegante). Voglio collocarle nella cartella del Tomcat preposta a tale scopo, per poi istanziarle dalla mia applicazione. Come procedere? Dove collocarle di preciso, e come dire alla mia applicazione che si trovano lì (considerate che uso Eclipse)?

    Considerate che in questo server andranno n applicazioni tutte del medesimo tipo, quindi tutte avranno biogno delle stesse librerie.

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254

    Re: Librerie di un'applicazione JSP nel posto giusto

    Originariamente inviato da Shadow976
    Voglio collocarle nella cartella del Tomcat preposta a tale scopo, per poi istanziarle dalla mia applicazione. Come procedere? Dove collocarle di preciso, e come dire alla mia applicazione che si trovano lì (considerate che uso Eclipse)?
    Nella "home" directory di Tomcat dovresti avere una directory 'lib' con dentro già una serie di jar. Aggiungi i jar che vuoi rendere "globali" a tutte le webapp lì dentro. Devi farlo ovviamente, come minimo, sul server "reale" di produzione.

    A livello di Eclipse non devi fare nulla di particolare. Sul tuo PC dove hai Eclipse avrai sicuramente anche un Tomcat per i test. Metti anche qui nella sua 'lib' i jar. Nel tuo progetto non devi fare nulla di particolare (se non togliere i jar dalla WEB-INF/lib) perché se vai a vedere nella configurazione Java Build Path vengono già "tirati" dentro nel progetto i jar sotto la lib del Tomcat.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    615
    Grazie per la tua risposta ma non funziona.

    Precisamente, ho preso tutte le librerie jar che erano sotto la cartella WEB-INF/lib della mia web application spostandole nella destinazione /usr/share/tomcat5.5/server/lib (da Tomcat, nell'albero delle cartelle della mia applicazione con Project Explorer, sotto Libraries/Apache Tomcat v5.5, accanto a ciascuna libreria era presente l'indicazione proprio di tale destinazione quindi presumo che il percorso sia giusto).

    Quindi ho riavviato il Tomcat da riga di comando, riavviato anche da server Explorer di Eclipse, ma né vedo le nuove librerie aggiunte se da Project Explorer vado in Libraries/Apache Tomcat v5.5, né l'applicazione se avviata funziona correttamente lamentando la mancanza (tra l'altro!) della libreria jstl.

    Di sicuro devo fare altro per farle vedere, almeno per farle comparire in quella cartella visibile da Project explorer! Ma il problema è: cosa manca? Cos'altro devo fare?

    Grazie in anticipo.

    EDIT: Il problema è circoscritto anche se non risolto. Riavviando nuovamente il server ora le librerie si vedono, se da Eclipse espando il nodo Libraries e vado sotto Apache Tomcat v5.5; tuttavia, la mia applicazione all'avvio dà ancora un messaggio di errore non riuscendo a vedere la libreria jstl.

    La domanda cambia quindi in: spostata una libreria da Web App Libraries a Apache Tomcat 5.5 (sono ovviamente i nomi desunti dal project explorer di Eclipse), e fatto in modo che le librerie così spostate siano visibili sotto la nuova destinazione, cos'altro bisogna fare per farle vedere correttamente?

    Grazie a tutti

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Originariamente inviato da Shadow976
    spostandole nella destinazione /usr/share/tomcat5.5/server/lib
    Alt. Innanzitutto, anche se non l'ho precisato e mi scuso, parlavo riguardo a Tomcat 6 che è quello che uso io. E che ha appunto una unica 'lib' direttamente nella "home" di Tomcat.

    Per Tomcat 5.5 se non sbaglio la struttura delle directory è effettivamente un pochino differente. Comunque questa pagina dice di mettere le librerie .jar condivise sotto $CATALINA_BASE/shared/lib.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    615
    Non capisco come identificare quel percorso $catalina_base/ecc, dove si trova?

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Originariamente inviato da Shadow976
    Non capisco come identificare quel percorso $catalina_base/ecc, dove si trova?
    Vedi questa pagina dove parla anche della differenza tra $CATALINA_HOME e $CATALINA_HOME.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    615
    NULLA.

    Ho capito dove si trova quella destinazione, è sotto shared, ma nemmeno mettendole lì funziona.

    Ma un attimo, io sono convinto che prima le avevo messe nella destinazione giusta. Ovvero, sotto quel percorso. Certo che è così: tante altre librerie essenziali per la mia applicazione si trovavano lì sotto (e quelle librerie, Eclipse non mente, si trovavano nella destinazione da me scelta tomcat5.5/common/lib; peraltro solo mettendole lì dentro la Eclipse le vedeva correttamente.

    Quindi:

    ho la sensazione che la destinazione di prima sia stata corretta, in ogni caso vi chiedo: se lo fosse e se il mio ragionamento non è errato, cosa non ho fatto per rendere quelle librerie operative?

    Grazie

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Originariamente inviato da Shadow976
    Eclipse non mente, si trovavano nella destinazione da me scelta tomcat5.5/common/lib; peraltro solo mettendole lì dentro la Eclipse le vedeva correttamente.
    Per mia curiosità ho fatto una prova. Ho scaricato lo zip di Tomcat 5.5, l'ho spacchettato in una directory di mia scelta, quindi ho creato in Eclipse un nuovo "server" facendolo puntare su quella directory. Infine ho creato un Dynamic Web Project specificando di usare Tomcat 5.5.
    Quello che ho scoperto è che si "tira" dentro solo i jar sotto common/lib mentre non "vede" il jar che ho messo nella shared/lib (che originalmente era vuota). Motivo di questo .... ora lo ignoro, dovrei guardare la documentazione/faq del WTP.

    Comunque se "vede" la common/lib (che viene vista dalle web app e da Tomcat) .... metti lì i jar, no?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    615
    Si, questo l'abbiamo appurato, come ti dicevo è esattamente il percorso da me scelto tant'è che Eclipse mi fa vedere tutte le librerie messe in quella destinazione in bella mostra in Project Explorer -> Libraries -> Apache Tomcat 5.5 e li vedo anche se metto le mie librerie in una sottocartella myLibrary (tutte le jar che si mettono lì dentro, in qualunque sottocartella siano, lì compaiono allo stesso modo, davvero efficiente!).

    MA PUR ESSENDO VISTE NON FUNZIONANO!

    E non dipende da una particolare libreria: provando con tre o quattro a caso, spostandole lì dentro, da Eclipse le vedo eppure nel progetto non vanno. Appurato che la destinazione è quella, cosa devo fare per dire alla mia applicazione:

    Guarda che tutte le librerie jar che sinora erano sotto WebContent -> WEB-INF -> lib della singola applicazione, ora si trovano nella nuova appena citata destinazione, peraltro ben visibile ad Eclipse?

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Originariamente inviato da Shadow976
    MA PUR ESSENDO VISTE NON FUNZIONANO!
    A me funziona .... ho messo jstl.jar/standard.jar (JSTL di Apache Jakarta) nella common/lib sotto la installazione di Tomcat 5.5. Quindi ho creato una webapp con una paginetta che usa i tag di JSTL e ... funziona.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

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 © 2024 vBulletin Solutions, Inc. All rights reserved.