Eclipse WTP vs sydeo, "serve moduli senza pubblicare"


103

Ho il problema di trovare le prestazioni del plugin sysdeo utilizzando il plugin integrato WTP di eclipse.

Per effettuare la migrazione e quindi il confronto, ho installato entrambi su progetti separati all'interno di eclipse.

Ho notato una differenza di produttività, in base a quello che ho capito: WTP deve pubblicare i sorgenti in una build di directory in modo che Tomcat li abbia a disposizione. Questo "pulish" è lungo: serve la ricarica del contesto in modo che le modifiche siano visibili. (5 secche nella maggior parte dei cantieri 15 sec - 20 sec nel più lungo).

Sysdeo no; prende di mira la directory eclipse di conseguenza build interna al progetto non appena viene apportata una modifica da un file, eclipse build e queste modifiche sono immediatamente disponibili (F5 sul browser e abbiamo immediatamente il risultato).

Ecco la mia configurazione del server:

L'opzione "Serve moduli senza pubblicare" permette di fare esattamente ciò che rende sydeo: scegliere la directory di compilazione del progetto in esecuzione. Questa configurazione si esprime nel file di contesto. (È per poterlo recuperare che ho spuntato "Pubblica modula contesti per separare righe XML")

Confronto di questi file:

  • Ecco il file di contesto da generare da sysdeo
< Context path="/tatoile _syseo" reloadable="false" docBase="D:\32bit\serveur32bit\workspace\tatoile _syseo" workDir="D:\32bit\serveur32bit\workspace\tatoile _syseo\work" />
  • Il contesto del file da generare da WTP

<? xml version = "1.0" encoding = "UTF-8"?> <Context docBase = "D: \ 32bit \ serveur32bit \ workspace \ tatoile \ web" path = "/ tatoile" reloadable = "true" source = "org .eclipse.jst.jee.server: tatoile "> <Resources className =" org.eclipse.jst.server.tomcat.loader.WtpDirContext "extraResourcePaths =" / WEB-INF / classes | D: \ 32bit \ serveur32bit \ workspace \ tatoile \ build \ classes "virtualClasspath =" D: \ 32bit \ serveur32bit \ workspace \ tatoile \ build \ classes "/> <Loader className =" org.eclipse.jst.server.tomcat.loader.WtpWebappLoader "useSystemClassLoaderAsParent =" false " virtualClasspath = "D: \ 32bit \ serveur32bit \ workspace \ tatoile \ build \ classes" /> <JarScanner scanAllDirectories = "true" /> </ Context>

Successivamente analizzare questi due file è simile.

Torniamo ora al problema. Uso lo stesso server, di conseguenza entrambi i file di contesto sopra sono definiti per questo. Esperienza: lancio il tomcat dal plugin sysdeo, i carichi in due contesti si fanno quello per configurare via WTP l'altro da sysdeo. Entrambe le autorità reagiscono allo stesso modo, le modifiche sono immediate in tatoile _syseo e tatoile.

D'altra parte, lancio tomcat tramite il plugin WTP (tab server ecc.) In eclipse, le modifiche non vengono apportate immediatamente in entrambi i progetti tatoile _syseo e tatoile. Nota: Auto-reload deve essere necessariamente messo in Enabled in modo che le modifiche siano prese in considerazione. (Quando il server ci indica che ha ricaricato il contesto, possiamo vedere le modifiche.)

inserisci qui la descrizione dell'immagine

Ne deduco che da esso la configurazione dei contesti non è il motivo, ma piuttosto il modo in cui il plugin lancia tomcat; e lì o mi asciugo ...

Ecco il progetto WTP:

inserisci qui la descrizione dell'immagine


5
Hai problemi con Sysdeo o WTP? OTOH Sicuramente WTP avrà bisogno di più tempo per le modifiche poiché questi sono ciò che farà per ripubblicare: (1) creare classi (2) annullare la distribuzione della vecchia app web (3) copiare il risultato della compilazione nella cartella di distribuzione di tomcat (4) tomcat avvierà automaticamente app. Nel frattempo con sysdeo, le classi nella RAM vengono modificate al volo non appena vengono apportate modifiche (identificate da una nuova data in qualsiasi file di classi). Poi ci sono alcune limitazioni delle modifiche che non possono essere apportate al volo (quando aggiungi nuovi metodi, anche la struttura della classe cambia), in questo caso verrà visualizzato un avviso.

Ho usato sia Sysdeo che WTP sullo stesso progetto. La differenza più significativa che ho notato è stata che la configurazione di Sysdeo mi è sembrata più facile, ma potrebbe essere di parte.
Markus

2
Il problema è stato risolto aggiungendo MAVEN con la distribuzione WTP. Nessun problema di prestazioni. Nessun problema di prestazioni e non attivazione "moduli di servizio senza pubblicazione"
Vsplit

1
Se hai risolto il problema, puoi pubblicare una risposta?
Anubian Noob

@AnubianNoob sì quando ho spiegato nel mio post precedente. Ho risolto il problema utilizzando la configurazione Maven.
Vsplit

Risposte:


3

La risposta citata da @Vsplit

Il problema è stato risolto aggiungendo MAVEN con la distribuzione WTP. Nessun problema di prestazioni ... e non attivo i moduli di servizio senza pubblicazione


-1 Questa non è una risposta. si prega di aggiungere la risposta con maggiori dettagli.
Isaac G Sivaa

1
Ciao, mi dispiace per la mia risposta in ritardo. Ma come devi notare, non riesco a risolvere il problema relativo al plugin Sysdeo. Ma sto usando il plugin Maven con la distribuzione WTP. Puoi vedere questo tutorial di esempio su youtube.com/watch?v=YeC7XQho-O0
Vsplit

2

cerca nel mercato dei plugin un plugin gratuito chiamato m2e-wtp. Questo si prenderà cura dei problemi di ambito forniti. Per quanto riguarda le classi che non vengono distribuite, i soliti posti che guardo sono l'assembly di distribuzione e / o il percorso di build Java. Assicurati che le voci (ei moduli dipendenti) siano tutte lì e si trovino nel posto giusto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.