2011-12-17 13 views
22

En SBT 0.7, se podría hacerRecarga automática de archivos en Scala/Lift/SBT .11?

~jetty-run 

con el fin de obtener sus archivos de compilación automática y volver a cargar la aplicación web cada vez que cambia algo. En SBT 0,11, Usted puede hacer

~container:start 

que también re-compila archivos, pero no parece volver a cargar la aplicación web, cada vez que algo cambie. Más bien, tengo que hacer un

container:stop 
container:start 

para ver los cambios. El problema con esto es que toma ~30s para que todo se reinicie. ¿Hay una mejor manera de hacerlo? Cavar a través de Google y SBT no me ha encontrado ninguna respuesta

EDIT: haciendo un

container:start 
container:reload 

cada vez que cambia algo, parece que funciona bien. Sin embargo, ¿es posible hacer que suceda automáticamente en esa secuencia? Algo así como:

~(container:start, container:reload) 

que no funciona, pero me gustaría que lo hizo

+0

Ver si esta pregunta es http similar: // stackoverflow.com/questions/8469503/sbt-0-11-2-how-to-combine-copy-resources-with-aux-compile – fmpwizard

Respuesta

43

Así resulta que la respuesta es que puede tomar un ~ lista de comandos, como se mencionó en el enlace fmpwizard left. Por lo tanto usted puede hacer

~;container:start; container:reload/

hace hacer lo correcto: cada vez que puedo guardar los archivos, se vuelve a compilar los archivos necesarios y vuelve a cargar la aplicación web!

EDITAR: debe ser contenedor: volver a cargar, como se mencionó. ¡Gracias!

+0

+1, creo que quiso decir, "~; contenedor: inicio; contenedor: recargar /", recibo un error con "contenedor recargar". El primero lo entiende) muy bien en un proyecto de Scala/SBT/Spray ... – virtualeyes

+0

¿Hay alguna manera de hacer esto que mantenga al usuario conectado? Me duele tener que volver a iniciar sesión cada vez que cambio un archivo. –

+0

@phopkins sí, necesitas agregue sesiones extendidas a su aplicación: https://www.assembla.com/spaces/liftweb/wiki/Extended_Sessions – Roch

-1

¿Usted intentó algo como:

container:start 
~compile 
+0

Intenté eso; lo compila cada vez pero no recarga la aplicación = ( –

1

~container:start no es necesaria,
primero puede utilizar sin container:start~, y luego ~container:reload, por lo que no se relanza container:start después de cada cambio de código .. Creo

Cuestiones relacionadas