2012-06-07 10 views
12

Actualmente estoy ejecutando eclipse y juego (con ~ ejecutar) al mismo tiempo. Cuando cambio un archivo, será compilado por play y por eclipse.¿Puedo evitar compilar dos fuentes cuando ejecuto play2 y eclipse?

¿Es posible evitar uno de esos dos pasos de compilación?

Por lo que yo sé, el plugin eclipse también usa sbt para compilar el proyecto así que tal vez haya una forma de ejecutar el comando play "run" dentro de eclipse?

(I pregunto porque mi portátil no es muy rápido y compilación lleva algún tiempo, y me gustaría tener la "respuesta rápida" como anuncian en la página web de juego;)

+0

Posible duplicado de http://stackoverflow.com/questions/4803283/eclipse-how-to-turn-off-dynamic-compilation-error-checking –

+0

hm, no creo que sea una pregunta duplicada. No quiero desactivar las características de eclipse; si quisiera, podría usar un editor de texto. – peq

Respuesta

5

puede desactivar Build Automatically de el menú Project sin perder ninguna de las funciones IDE. Los binarios se construirán solo con Sbt (en la línea de comandos).

Una guía detallada sobre la instalación de Play 2 con Scala IDE se puede encontrar en el sitio web Scala IDE: http://scala-ide.org/docs/tutorials/play20scalaide20/index.html

+0

Cuando lo desactivo, pierdo alguna funcionalidad que es importante para mí: cuando cambio algo en un archivo y esto rompe otros archivos, no veo esto directamente. – peq

+1

Intenta señalar la ruta de compilación de Eclipse al lugar donde está construyendo Play/SBT. – pedrofurla

+0

@pedrofurla: intentado. No ayudó - Play todavía quiere compilar las fuentes que Eclipse ya compiló, y Eclipse quiere compilarlas por sí mismo o no mostrará/eliminará los errores entre archivos. – jsalvata

1

todavía no he tratado de ejecutar la tarea de ejecución juego SBT en eclipse.

PERO puede ejecutar el servidor directamente desde eclipse.

  1. Agregue "target/scala-2.9.1/classes" a su ruta de clase, use filtros para incluir solo sus activos. (Propiedades del proyecto, ruta de compilación de Java)
  2. Elija "Ejecutar configuraciones ..." en el menú del botón Ejecutar.
  3. Cree una nueva configuración de "Aplicación Java" con su nombre favorito.
  4. principal Ficha: Uso "DebugStart" como su clase principal
  5. Argumentos Tab: Configure las opciones "-Dconfig.file =" ... "" -Dlogger.file que pueda necesitar en argumentos de VM
  6. de rutas de clases Tab : Añadir el directorio conf a la ruta de clase (Avanzado/Agregar carpetas)

Crear 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() 
    } 
} 

ahora puede iniciar la aplicación con carrera o de depuración. Si usa la depuración, puede realizar algunos cambios de código sin ningún reinicio.

Mi versión de DebugStart.scala en realidad contiene algún código de hackeo dependiente de la plataforma para matar cualquier proceso en ejecución, de modo que solo puedo presionar F11 o CTRL + F11 para reiniciar la aplicación.

Para asegurarse de que sus activos/fuentes son hasta la fecha de ejecución:

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

Después de ajustar la configuración, reproducir se ejecuta en Eclipse y escucha en el puerto 9000, pero no funciona: la consola permanece en blanco (a menos que haya un error de configuración o pida un volcado de hilo) y apunte mi navegador al localhost : 9000, simplemente se cuelga esperando una conexión. Simplemente no puedo imaginar por qué. ¿Sugerencias? – jsalvata

0

IntelliJ IDEA 12 (Leda) estará disponible en breve. Estoy usando 11 por un tiempo y no hay problemas, pero la nueva versión ofrecerá una mejor integración de Play 2.0.

Cuestiones relacionadas