medium - Eclipse no reconoce código Scala
medium search (11)
Tengo Eclipse Indigo con el complemento IDE de Scala. Descargué un proyecto de ascensor de Maven. Se construye correctamente. Eclipse dice que lo está viendo con el editor de Scala.
Sin embargo, todavía me está dando un error a mi línea en cada línea porque trata el código como Java (da errores sin punto y coma, por la palabra "def", etc.) Traté de limpiar el proyecto y todavía da los errores.
Mis clases de Java se niegan a reconocer mis Scala. Sin embargo, cuando hago "Ctrl + Click" = Declaración abierta, va al lugar correcto. Mis clases de Java que dependen de Scala parecen rojas en todas partes. Revisé la configuración de Build Path, etc, todos se ven bien.
Yo tuve el mismo problema. Cuando moví mis clases de Scala a la carpeta del paquete correcto, funcionó. Scala no necesita esto. Pero solo de esa manera el editor de Java reconquistó la clase Scala.
A veces, o en algunas versiones, no ve la opción "Agregar Scala Nature".
Agregarlo a su archivo .project manualmente debería hacer. Por ejemplo, este proyecto es compatible con las naturalezas de scala y java, por lo que tratará a .java como Java y a .scala como Scala.
<projectDescription>
<name>myprojectname</name>
<buildSpec>
<buildCommand>
<name>org.scala-ide.sdt.core.scalabuilder</name>
</buildCommand>
</buildSpec>
<natures>
<nature>org.scala-ide.sdt.core.scalanature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
<linkedResources> </linkedResources>
</projectDescription>
Estaba enfrentando el mismo problema, porque en el proyecto no se incluía la carpeta de scala, seguí los siguientes pasos proyecto -> propiedades -> java construido ruta -> fuente -> agregar carpeta
Este problema puede aparecer cuando copia un proyecto java existente para iniciar un nuevo proyecto o utiliza un generador de archivos de proyecto.
Una cosa que puede observar es su Java Build Path
dentro de las propiedades del proyecto. Asegúrese de que la carpeta de origen de scala no tenga un filtro de inclusión como **/*.java
. Asegúrese de que sea **/*.scala
o elimínelo y su fuente debe ser detectada por el complemento de scala.
Incluso puede ser más simple que eso. Olvidé escribir el nombre del paquete en la parte superior del archivo de origen, por lo que Eclipse no lo vio como un archivo de Scala.
Resolví el problema con los errores de compilación / compilación con sbt-eclipse por
- Haga clic derecho en el proyecto
- Menú de Scala: elija Nueva instalación de Scala y seleccione la versión hasta que no haya errores en la lista
También he tenido este problema antes al usar Maven y Eclipse. Estaré trabajando en la perspectiva de Scala y todo está bien, y luego, en algún momento, Indigo pierde por completo el hecho de que está usando Scala y está construyendo mi código. con un compilador de Java. Sin embargo, parece que no es posible arreglarlo.
La única solución que he encontrado hasta ahora es usar IntelliJ cuando uso Maven, y usar el complemento Eclipse de Scala solo cuando se usa SBT para construir proyectos. Puedes intentar convertir tu Maven POM a un proyecto SBT, pero tendrás que actualizarlo cada vez que cambien tus dependencias. El plugin sbt-eclipse de Heiko Seeberger es bastante hábil.
Tengo problemas similares, aunque cuando elimino el Scala Nature y lo agrego, se vuelve correcto. Lo que está bien por ahora.
Pero hay otro problema:
Mis clases de Java se niegan a reconocer mis Scala. Sin embargo, cuando hago "Ctrl + Click" = Declaración abierta, va al lugar correcto. Mis clases de Java que dependen de Scala parecen rojas en todas partes. Revisé la configuración de Build Path, etc, todos se ven bien.
Un par de cosas que intentaría:
1) Haga clic derecho en el proyecto, Configurar> Agregar Scala Nature.
2) En el menú Scala, Ejecutar configuración Diagnósticos ...> Usar la configuración predeterminada recomendada
Yo uso Maven para generar mi jarra. Entonces, siga los pasos a continuación. Haga clic con el botón derecho en el proyecto -> Maven -> Proyecto de actualización -> Verifique la actualización de instantáneas / lanzamientos -> Aceptar
Abra el Explorador de paquetes, mire la fuente de su scala. ¿El icono muestra una S
(para Scala) o una J
(para Java)?
Si ves una S
, es probable que te estés perdiendo el Scala Nature. Como Luigi sugirió, intente agregar el Scala Nature y ver si eso soluciona su problema (haga clic con el botón derecho en el proyecto, Configurar> Agregar Scala Nature).
De lo contrario, si ve una J
, lo más probable es que el "tejido JDT" no esté habilitado. Eso no debería suceder y podría depender de otros complementos que haya instalado.
Lo que intentaría si fuera usted es simplemente desinstalar todos los complementos Scala IDE de Eclipse ("Scala IDE para Eclipse" y también el "JDT Weaving para Scala" si lo ve en la lista de complementos instalados). Luego, reinstale Scala IDE 2.0.0-RC04. Lo sé, no es la solución ideal, pero es difícil decir qué está pasando sin más información.
Si eso tampoco funciona, escriba un mensaje en la lista de correo de scala-ide-user . Asegúrese de proporcionar la lista completa de complementos que tiene en su instalación de Eclipse. Eso podría ayudarnos a entender lo que está pasando.