Domanda

Attualmente sto vivendo un problema con 'codice a caldo sostituire' non funziona su Eclipse Galileo e JBoss 4.2.3.

Tra le altre applicazioni sono in esecuzione un esplosa Java WAR sul mio JBoss locale. Il progetto da cui è build è gestito da Maven. I costruire il progetto con la guerra obiettivo Maven:. Esploso e poi copio la directory di JBoss con uno script ANT

Quando sono ora in esecuzione l'applicazione e impostare un punto di interruzione ovunque nel codice, Eclipse correttamente fermate a quella linea nella modalità di debug. Ma quando sto facendo una modifica al file sorgente e salvarlo, Eclipse non diffusa questa modifica al JBoss. Per esempio, quando faccio una linea di codice normale in un commento, il debugger passaggi ancora più di questo commento come se fosse il codice Java regolare. O quando rimuovo una linea, il debugger sembra avere fuori sincrono con il file e inizia scavalcando parentesi.

Ma io non ricevendo alcuna 'codice a caldo sostituire error'-messaggi neanche. Mi sembra che Eclipse applica le modifiche ai file di origine, ma non si applica al JBoss.

Ci sono preferenze particolari che devono essere attivato al fine di rendere il codice a caldo sostituire il lavoro? O ci sono errori nel modo in cui ho creare e distribuire l'applicazione per il JBoss?

È stato utile?

Soluzione

non ho lavorato con JBoss ma ho due suggerimenti.

  1. Se si esegue l'applicazione in Eclipse con il lancio di configurazione
    È il suo "progetto" - "creare automaticamente" bandiera abilitato? In caso contrario, il codice non viene compilato e ignorato t tempo di esecuzione.

  2. Quando il debug di un'applicazione in modalità remota, non è possibile modificare il codice, ma è possibile modificare il valore dei parametri. (Credo)

Altri suggerimenti

Ho avuto problemi in un progetto con Maven ed Eclipse. Nessun errore sono stati mostrati, ma la sostituzione del codice a caldo non funzionava. Ho letto che "generare automaticamente" deve essere controllato. Ho controllato questo e lavori ancora poco. Ho avuto alcuni errori in altri progetti nel mio percorso di generazione. Credo che fosse l'errore. Quando ho studiato, ho scoperto che l'abbiamo dovuto deselezionare la casella "costruire Interrompi quando buildpath errori". Ho dato i dettagli nel link qui sotto.

In primo controllo è automaticamente il Progetto / Genera.

Può essere necessario anche per controllare la distribuzione dei server applicazione di configurazione,

es. per JBoss, in Eclipse, in vista Server, fare doppio clic sul server e c'è una sezione Distribuzione Scanner con due caselle di controllo:

  • Aggiungi manca scanner distribuzione
  • Rimuovi scanner distribuzione aggiunti prima dell'arresto

https://docs.jboss.org/author/display / AS7 / distribuzione + Scanner + configurazione JBoss AS / Distribuzione Scanner configurazione

Ho da poco avuto questo problema in Eclipse 2019-06 e trovato ho dovuto deselezionare l'opzione in "Sostituire classfiles contenenti errori di compilazione" in Preferenze> Java-> Debug -> Codice Hot Sostituire gruppo. Tutte le altre opzioni là sono stati controllati. Precedente a fare che mi stavo "Codice Hot replace fallito - metodo Delete non implementato" nonostante il mio unico cambiamento è quello di culo una chiamata System.out.println. Non appena ho cambiato questa opzione (nella stessa sessione di debug) ha cominciato a lavorare per me.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top