Domanda

Al momento stiamo utilizzando MyEclipse con la sua built-in Maven4MyEclipse integrazione e la sua built-in J2EE supporto server, ma desidera convertire verso Eclipse regolare (Helios in particolare) per essere in grado di utilizzare il suo 64-bit di installare su Windows. (MyEclipse non supporta ancora a 64 bit su Windows.)

Finora ho ottenuto un prototipo funzionante di Helios eclissi utilizzando m2eclipse con il WTP plugin di distribuire la nostra applicazione web di grandi dimensioni per Tomcat. La distribuzione è un po 'intensivo del processore, ma funziona e l'applicazione si avvia.

Qual è criticamente diverso qui è come i progetti dipendenti sono dispiegati. Nel nostro ambiente MyEclipse tutti i progetti dipendenti sono stati dispiegati esplose nel WEB-INF / cartella classi, e così mentre il server è stato in funzione, una modifica a una classe Java nell'IDE avrebbero copiare solo il file interessato (s) al il server di wEB-INF / classes e hot-swap la classe in JVM e ... del boom - il cambiamento dal vivo al server. GRANDE per il debug.

Nel mio helios conversione, tuttavia, tutti i progetti dipendenti ottengono Jared e messo in WEB-INF / lib. Questo ha il vantaggio di realtà cercando come quello che i nostri veri sguardi di immagini di produzione Maven-costruito come, ma l'ambiente di sviluppo è gravemente svantaggiato da questo in quanto la funzionalità hot-swapping sembra essere totalmente perso. Qui, se cambio una classe Java in un progetto dipendente, m2eclipse si ri-confezionare il JAR, vedere che l'applicazione Web distribuita è fuori sincrono, e ripubblicare l'intera applicazione. Non solo questo è un problema che l'intera applicazione web deve ciclo (qualcosa nostra francamente non fa bene date le sue dimensioni ed enorme tempo di inizializzazione), è anche un brutto ritardo in Eclipse fare il suo ripubblicare. (Per la nostra applicazione presente richiede circa un minuto o due.)

Quindi la mia domanda è questa: c'è un modo per ottenere cambiamenti all'interno progetti dipendenti a hot-swap per la JVM in esecuzione e sostituire i file distribuiti senza questa penalità ripubblicare brutto? Io parto dal presupposto che questo mezzo distribuzione di questi file di classe per le WEB-INF / classes, ma non so per certo che è (a) possibile o (b) veramente necessario come parte di questa soluzione.

Quali sono gli altri facendo per risolvere questo problema? E 'risolvibile?

Grazie in anticipo!

È stato utile?

Soluzione

Credo che si sta cercando la soluzione descritta in Re: WTP Tomcat implementare caldo con m2eclipse :

  

Se si attiva il "Servire moduli   opzione senza Publishing", poi un   vaso speciale viene aggiunto al Tomcat   Server che consente il supporto di Tomcat   in WTP per controllare il "percorso di classe" di   l'applicazione web. Inoltre, l'utilità   progetti non sono assemblati per vasetti.   Al contrario, la cartella di output Java (s) di   le infrastrutture sono compresi nel   il "percorso di classe" del web   applicazione, in modo efficace al servizio della   classe di file direttamente. Se si disattiva   l'auto-caricamento per il contesto, e   esegue in modalità di debug, le modifiche apportate al   classi possono essere hot-code-sostituito così   contesto non deve ricarica. io   credo che questo porterà a compimento ciò che si   sono alla ricerca di.

Per farlo:

  • Vai alla Server Visualizza
  • Fare doppio clic su il server Tomcat per aprire le impostazioni del server
  • in Opzioni server , seleziona Servire moduli senza pubblicare
  • Nel Editoria , selezionare il Non pubblicare mai automaticamente
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top