2012-06-07 10 views
12

Attualmente eseguo l'eclissi e gioco (con ~ run) allo stesso tempo. Quando cambio un file, verrà compilato per gioco e per eclissi.Posso evitare di compilare due volte le sorgenti quando eseguo play2 ed eclipse?

È possibile evitare uno di questi due passaggi di compilazione?

Per quanto ne so, il plug-in di eclipse utilizza anche sbt per creare il progetto, quindi forse c'è un modo per eseguire il comando di esecuzione "run" all'interno di eclipse?

(chiedo perché il mio computer portatile non è molto veloce e la compilazione richiede un po 'di tempo, e vorrei avere il "turnaround veloce" come pubblicizzato sul sito del gioco;)

+0

Possibile duplicato di http://stackoverflow.com/questions/4803283/eclipse-how-to-turn-off-dynamic-compilation-error-checking –

+0

hm, non penso che sia una domanda duplicata. Non voglio disattivare le funzionalità di Eclipse - se volessi potrei semplicemente usare un editor di testo. – peq

risposta

5

È possibile disattivare Build Automatically da il menu Project senza perdere nessuna delle funzionalità IDE. I binari verranno creati solo da Sbt (sulla riga di comando).

Una guida dettagliata per la messa a punto Play 2 con Scala IDE si possono trovare sul sito Scala IDE: http://scala-ide.org/docs/tutorials/play20scalaide20/index.html

+0

Quando lo spengo, sto perdendo alcune funzionalità che sono importanti per me: quando cambio qualcosa in un file e questo rompe altri file, non lo vedo direttamente. – peq

+1

Provate a puntare il percorso di costruzione di Eclipse nel luogo in cui Play/SBT sta costruendo. – pedrofurla

+0

@pedrofurla: provato. Non ha aiutato - Play vuole ancora compilare le fonti che Eclipse ha già compilato, ed Eclipse vuole compilarle da solo o non mostrerà/rimuoverà gli errori tra file. – jsalvata

1

Non ho ancora provato a eseguire l'attività di gioco run SBT in Eclipse.

MA è possibile eseguire il server direttamente da eclissi.

  1. Aggiungere "target/scala-2.9.1/classes" al percorso della classe, utilizzare i filtri per includere solo le risorse. (Proprietà progetto, percorso di costruzione Java)
  2. Scegli "Esegui configurazioni ..." dal menu a discesa.
  3. Creare una nuova configurazione "Applicazione Java" con il nome preferito.
  4. principale Tab: Usa "DebugStart" come classe principale
  5. Argomenti Tab: Configurare qualsiasi "-Dconfig.file = ..." opzioni "-Dlogger.file" potreste avere bisogno in VM argomenti
  6. Classpath Tab : Aggiungere la directory conf al classpath (Advanced/Aggiungi cartelle)

Crea DebugStart.scala con:

import play.core.server.NettyServer 
import java.io.File 
import play.core.SBTLink 
import play.core.TestApplication 
import play.api.test.FakeApplication 
import play.api.test.TestServer 

object DebugStart { 
    def main(args: Array[String]) { 
    val app = FakeApplication() 
    val server = TestServer(9000, app) 
    server.start() 
    } 
} 

È ora possibile avviare l'applicazione con corsa o di debug. Se si utilizza il debug, è possibile eseguire alcune modifiche al codice senza alcun riavvio.

La mia versione di DebugStart.scala contiene in realtà un codice di hacking della piattaforma che consente di terminare qualsiasi processo in esecuzione, in modo che sia possibile premere F11 o CTRL + F11 per riavviare l'applicazione.

Per garantire che le risorse/fonti sono fino a data di esecuzione:

> sbt 
... 
[your project] $ ~ ;play-copy-assets;sources 
+0

Dopo aver regolato la configurazione, la riproduzione è in esecuzione in Eclipse e in ascolto sulla porta 9000, ma non funziona: la vista della console rimane vuota (a meno che non vi sia un errore di configurazione o richiedo un dump del thread) e se punto il mio browser su localhost : 9000, si blocca solo in attesa di una connessione. Non riesco a immaginare perché. ¿Suggerimenti? – jsalvata

0

IntelliJ Idea 12 (Leda) sarà presto disponibile. Sto usando 11 per un po 'e non ci sono problemi, ma la nuova versione offrirà un'integrazione Play 2.0 molto migliore.

Problemi correlati