2013-09-26 14 views
8

Sto sviluppando un progetto Web utilizzando Eclipse Juno, Tomcat 7 e Maven 3 e ho incontrato uno strano problema.Tomcat non sta recuperando il vaso corretto

Ho un progetto separato in cui compilo alcune cose e seleziono quel barattolo nel mio progetto web come dipendenza. Quindi, il risultato finale è uno .war. Ora, quando eseguo questa guerra in Tomcat incorporato in Eclipse e premo il pulsante di aggiornamento sul mio browser, Tomcat dice che non riesce a trovare un percorso in quel contenitore.

Nell'area di lavoro WEB-INF/lib cartella trovo il myApplication-comune-widgetset-0.0.11-20130926.124257-7.jar

Nella directory Tomcat distribuzione sotto wtpwebapps/myApplication/WEB-INF/lib Vedo myApplication-common-widgetset-0.0.11-SNAPSHOT.jar La cosa strana è che il file sotto la lib di Tomcat è di 1kb di grandi dimensioni e il file nel mio spazio di lavoro lib è ~ 22Mb.

Ho provato a copiare il jar dell'area di lavoro nella cartella di Tomcat lib e tutto funziona e funziona come un incantesimo.

Aggiornamenti:

  • Quando eseguo mvn tomcat:run dalla riga di comando nel mio lavoro, tutto funziona.
  • I "re-installed" sia Eclipse (a Kepler, cancellando tutto, incluso lo spazio di lavoro e le cartelle home) e Tomcat 7. Ho ancora lo stesso problema.
  • Collegi hanno tentato il recupero il mio progetto da SVN e corse con successo, sia con Eclipse e IntelliJ + Tomcat 7

cosa sarebbe potuto succedere? Perché Eclipse ha incorporato Tomcat senza ottenere tutto dalla directory di destinazione?

+0

Si potrebbe provare tasto destro del mouse sul Server Tomcat nella vista Server Eclipse e selezionare "Cancella directory di lavoro" o simile. Ho visto cose strane simili che sono state risolte in questo modo. – geert3

+0

La directory di lavoro pulita, pulire tomcat, aggiungere/rimuovere il progetto non fa nulla per me il problema persiste. –

risposta

0

Il problema che penso tu stia affrontando è la realtà che l'eclissi non onora strettamente le dipendenze di esperti.

Questo ha a che fare con il fatto che eclipse non si differisce per eseguire operazioni di creazione, implementazione e esecuzione su tomcat. Eclipse utilizzerà la configurazione dello spazio di lavoro locale e quindi a volte introdurrà un albero delle dipendenze diverso da quello di Maven.

Dalle informazioni fornite appare come se il file lib dell'area di lavoro fosse quello proveniente da un repository di Maven e quello nella directory di implementazione di tomcat incorporato è un jar che Eclipse ha creato - Sto indovinando qui.

Se il vaso proviene da un progetto di area di lavoro, puoi provare a chiudere il progetto e lasciare che eclissi trovi il barattolo da parte di Maven.

Questo problema con Eclipse e Maven è piuttosto nebulosa e così è difficile da capire esattamente cosa sta succedendo in termini di dipendenze so sorry non posso essere di maggiore aiuto

+0

Nel mio caso i vasi mancanti sono stati costruiti insieme al progetto che sto tentando di implementare.I vasi che sono stati distribuiti che avevano 1kb sono stati anche costruiti nella stessa installazione di Maven, da quello che stai dicendo il fatto che io uso Maven per fare la build sta causando problemi con Eclipse. Non so come risolvere questo però. –

Problemi correlati