Sto aggiornando un progetto esistente da GWT 1.5.2 a GWT 2.0.0. Usiamo Maven 2 per gestire le nostre dipendenze e fare tutto il nostro sviluppo in Eclipse 3.5.Come posso copiare le dipendenze gestite da Maven copiate in war web-inf lib in modo da poter eseguire la mia app GWT 2.0 in modalità di debug all'interno di Eclipse?
Poiché usiamo Maven per gestire le nostre dipendenze, non ho tutti quei vasi nella directory war \ web-inf \ lib come specifica GWT. Invece, sono nel repository di maven, proprio dove piacciono a loro. Ho impostato il progetto in modo che Maven possa creare e avviare correttamente in modalità dev o web e che l'applicazione funzioni correttamente.
Il problema è che quando lancio da Eclipse, ottengo un java.lang.NoClassDefFoundError. Se copio manualmente le mie dipendenze in war \ web-inf \ lib prima del lancio, tutto funziona correttamente, ma ciò non si presta a una soluzione a lungo termine. Innanzitutto, se controllo tutti questi vasi nel nostro controllo di versione, questo sovvertirà gran parte del valore che otteniamo da Maven. Per quanto fastidioso possa essere il maven, abbandonarlo non è la risposta. In secondo luogo, avere gli sviluppatori copiarli manualmente ogni volta che vogliono eseguire il debug di qualcosa è ridicolo.
Quindi posso ottenere Eclipse per copiare le dipendenze in war \ web-inf \ lib prima dell'avvio? C'è una soluzione alternativa che mi manca?
Grazie,
Tony
Ho aggiunto il plugin m2eclipse ad Eclipse, ma questo sembra aver messo in ginocchio Eclipse. Ora si blocca "Aggiornamento delle dipendenze Maven" all'avvio. Una volta ottenuta una nuova installazione di Eclipse, farò un tentativo. – Tony
Un repository di Maven locale può alleviare il problema di aggiornamento delle dipendenze. Consiglio vivamente di configurare un'istanza di Nexus http://nexus.sonatype.org/ e di impostare le impostazioni di maven per utilizzare mirrorOf = * -> il repository locale nexus. Gli aggiornamenti iniziali richiederanno un po 'di tempo, ma in seguito il resto del tuo team scaricherà risorse locali memorizzate nella cache, con vantaggi per te, il tuo team, i repository Maven pubblici e il resto di Internet. – crowne
Il plugin m2eclipse ti renderà la vita molto più semplice. Trova riferimenti tra progetti e li collega tramite Eclipse in modo da non dover andare alla riga di comando per ricostruire istantanee ogni volta che si modifica un progetto dipendente. Inoltre crea il classpath per te e lo aggiorna con il file pom. L'unico problema che ho riscontrato è che a volte non crea nuove dipendenze, quindi devi eseguire una 'dipendenza mvn: risoluzione' dalla riga di comando quando aggiungi una nuova dipendenza che non si trova nel tuo repository locale. –