2012-06-24 4 views
10

Qualcuno ha già trovato alcune modifiche per migliorare la velocità di compilazione di Play 2.0? Attualmente sto usando 2.0.1 java.Come migliorare la velocità di compilazione di Play Framework 2.0

+0

Ulteriori informazioni sui sintomi. Sebbene i suggerimenti di michiel siano corretti, forse hai altri problemi. Sono d'accordo che dopo un po 'di tempo diventa sempre più lento. Nel mio caso, l'eliminazione della memoria non utilizzata e il riavvio della console sono utili per qualche tempo. – biesior

+1

Niente di speciale, solo che la compilazione impiega circa 10 secondi quando apro un URL nel browser. –

risposta

14

È possibile utilizzare play ~run. Questo compila i file non appena viene rilevata una modifica sul filesystem.

Inoltre ci sono voci su una grande spinta alla compilazione in arrivo nei prossimi due mesi. (seconda metà del 2012)

+6

La riproduzione 2.1 è ancora lenta – Ixx

+1

2.4. Ancora lento. Inoltre, ho avuto problemi nell'esecuzione di 'play ~ run'; stava causando alcune condizioni di gara quando stavo aggiornando manualmente la pagina lungo la compilazione automatica. Non divertente. – twihoX

0

Ho scritto un post molto lungo su come abbiamo risolto il problema di compilazione in Play Framework con il mio team.

https://medium.com/@jfcote/the-ultimate-solution-to-play-framework-slow-compilation-53f4fd499df4

Per riassumere,

  • Aggiungi questo per build.sbt: playEnhancerEnabled := false
  • Utilizzando uno strumento di refactoring, incapsulare ogni campo (rendendoli privato, generando un getter e cambiando l'uso in tutto il mondo per il getter appena creato). Genera solo un setter per i campi che vengono utilizzati al di fuori della classe (lo saprai compilando e vedrai gli errori)
  • Assicurati di rimuovere l'annotazione @Transient per tutte le funzioni contrassegnate da . Avevamo queste annotazioni su alcune funzioni perché era in conflitto con Play Enhancer. Basta rimuovere le annotazioni e tutto sarà OK!
  • Compilare e correggere ovunque si stia utilizzando il campo se lo strumento di rifattorizzazione non ha svolto il proprio lavoro.