Eclipse e libreria javax.servlet

di il
4 risposte

Eclipse e libreria javax.servlet

Ho installato Tomcat ed ho tutto ben configurato.
Il mio problema è il seguente:
- devo importare la libreria javax.servlet con Eclipse relativa alla cartella lib nell'ambiente Tomcat e no relativa alla mia cartella C:\Java, in modo tale da rendere il server portabile.

Con una compilazione manuale:

javac -classpath "C:\User\Tomcat\webapps\MyWebApp\lib" Servlet.java
il problema non sussiste. Ma non essendo proprio comodissimo e per sfruttare le comodita di un IDE vorrei poter fare la stessa cosa con Eclipse.

Consigli??

Grazie e buona giornata.

4 Risposte

  • Re: Eclipse e libreria javax.servlet

    Ad esempio ho la seguente cartella:
    +WEB\
    +lib\
    -lib.jar
    +bin\
    -class.class

    Come compilo questa cartella in modo da renderla portabile indipendentemente dalle impostazioni dell'ambiente di sviluppo con Eclipse?
  • Re: Eclipse e libreria javax.servlet

    Devi innanzitutto avere il Eclipse "for Java EE developers". Poi si può creare il progetto di una web application in almeno 2 modi: come "Dynamic Web Project" (che è una tipologia di progetto nativa di Eclipse) oppure tramite Maven.
    Devi comunque aver configurato un Server (es. Tomcat) in Eclipse. Poi se è un Dynamic Web Project basta fare in modo che nel build path ci siano le librerie di Tomcat.
    Per Maven il discorso è ovviamente diverso. Tutto questo detto a grandi linee. Se vuoi dettagli, chiedi.
  • Re: Eclipse e libreria javax.servlet

    Si Tomcat è perfettamente configurato e anche le servlet mi funzionano bene, però ho il dubbio che trasferendo la mia webapp su un altro ambiente non lavori correttamente a causa della dipendenza della libreria javax.servlet.
  • Re: Eclipse e libreria javax.servlet

    Paolovox ha scritto:


    Si Tomcat è perfettamente configurato e anche le servlet mi funzionano bene, però ho il dubbio che trasferendo la mia webapp su un altro ambiente non lavori correttamente a causa della dipendenza della libreria javax.servlet.
    La API di specifica delle Servlet è già sicuramente presente nel runtime di un Servlet container (es. Tomcat). Non c'è affatto bisogno di avere il jar di queste API in WEB-INF/lib.
    Infatti quando si usa Maven, l'approccio tipico è quello di avere es.
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.0.1</version>
        <scope>provided</scope>
    </dependency>
    dove lo scope provided vuol dire che la dipendenza è presente nel build path di compilazione (e di test) perché serve ovviamente affinché le servlet compilino ma poi il jar della dipendenza non viene copiato/rilasciato da nessuna parte. Ci si aspetta che sia un environment/container che la fornisce, in questo caso un Servlet container come Tomcat.
Devi accedere o registrarti per scrivere nel forum
4 risposte