instalar - scala ide intellij
Scala IDE 4.0.0 cree que hay errores en un programa de Play Framework 2.3.7 listo para usar (6)
He creado un programa de Play Framework a través del activador Typesafe (para que siga exactamente la plantilla).
sbteclipse-plugin
versión 3.0.0 de sbteclipse-plugin
para crear un proyecto de Eclipse y lo sbteclipse-plugin
a Scala IDE 4.0.0. Estas son todas las últimas versiones en el momento de la escritura.
El IDE de Scala definitivamente parece ser compatible con Play Framework. Tiene resaltado de sintaxis para los formatos personalizados, incluido el archivo de enrutamiento y las plantillas. Sin embargo, no parece poder encontrar las vistas desde los controladores. En particular, la llamada a views.html.index
un error: "el índice de objeto no es un miembro del paquete views.html".
Intenté habilitar la actualización utilizando ganchos nativos o agrupación como se detalla aquí , pero no tuvo ningún efecto.
Debo tener en cuenta que si bien el código se ha compilado en la línea de comandos (con activator ~run
), no se ha compilado en el IDE de Scala, ya que no sé cómo (no parece estar documentado en ninguna parte) .
¿Qué puedo hacer para deshacerme de estos errores falsos?
EDITAR: Después de ejecutar activator clean ~run
, tengo otro error: el proyecto no se puede generar hasta que se resuelvan los errores de la ruta de compilación. No hay más detalles sobre qué son estos errores de compilación.
Para mí, resultó que el JRE instalado en el IDE de Scala era openjdk, lo cambió a Oracle Java 8 y funcionó.
Primero probé la solución @mkurz, pero también encontré el mismo error que @matt. Me frustré al no poder generar el proyecto Eclipse sin tener que ir a las propiedades del proyecto Eclipse para corregir manualmente los errores de compilación. Después de una investigación, descubrí la solución que eliminó todos los errores por completo. Agregue esto a su build.sbt:
unmanagedSourceDirectories in Compile <+= twirlCompileTemplates.target
O si eso no funciona para usted, también puede usar:
unmanagedSourceDirectories in Compile <+= target.zipWith(scalaBinaryVersion) { (b,v) => b / s"scala-$v/twirl/main" }
Adiós, construye errores!
Recibí el mismo mensaje de error. ¿Estás usando java8 como jre en eclipse? Después de cambiar de java8 a java7, todo volvió a funcionar bien.
Si, después de seguir las instrucciones de Mkurz (agregando EclipseKeys.CreateSrc ...), sus problemas no se resuelven, haga clic en Proyecto -> Propiedades -> Java Build Path. Mira la pestaña de carpetas de origen.
Puede encontrar una carpeta de archivos duplicada llamada ... / src_managed / main (Gracias Matt). Si es así, cierra el proyecto. Elimine UNA de las dos entradas ../src_managed/main del archivo .classpath (ubicado en la base del directorio del proyecto activador / SBT). Vuelva a abrir y limpie el proyecto y estará listo para comenzar.
Tuve el mismo problema, también con Scala IDE 4.0.0. Seguí las mkurz y trabajaron a la perfección. Pero en lugar de cambiar .classpath
archivo .classpath
en la carpeta del proyecto, utilicé la interfaz de Eclipse:
- En el menú superior de la ventana principal, haga clic en
Project
y luego enProperties
. - En la ventana
Properties
, haga clic enJava Build Path
opciónJava Build Path
(la lista de opciones está a la izquierda) - En la pestaña
Source
, haga clic en el botónAdd Folder...
- En la ventana
Source Folder Selection
, elija laSource Folder Selection
target/scala-2.11/twirl/main
, para que se incluya en la ruta de compilación. Haga clic en el botónOk
. - Haga clic en
Ok
en la ventanaProperties
.
Ahora el proyecto debería compilar bien :). Con eso pude terminar el ejemplo de configuración de reproducción en el sitio web de Scala IDE
Actualización: solo actualice a la versión 5.1.0
sbteclipse
y todo debería funcionar de forma sbteclipse
. También asegúrese de seguir la documentación de Play sobre cómo configurar Eclipse / ScalaIDE .
Este es un error conocido en sbteclipse
, que probablemente se solucionará pronto.
Por ahora, puede agregar la siguiente línea a su build.sbt:
EclipseKeys.createSrc := EclipseCreateSrc.All
Matar la consola SBT y ejecutar sbt eclipse
nuevo. Eso debería agregar la siguiente línea al archivo .classpath
dentro de la carpeta de su proyecto como solución alternativa:
<classpathentry kind="src" path="target/scala-2.11/twirl/main"/>
Actualice su proyecto Eclipse para recoger el cambio.