2011-02-11 12 views
28

me sale el siguiente mensaje de advertencia cada vez que empiezo mi aplicación Scala:advertencia oculta de forma permanente en la aplicación Scala

WARN - importados `SVNProperties' se oculta de forma permanente, por definición, de SVNProperties objeto de núcleo de paquetes, en la línea 4 de aplicación/núcleo /SVNResource.scala

¿Qué significa esto?

+1

¿Lo obtiene cuando ejecuta la aplicación o cuando la compila? ¿Es Scala o Scalac el que emite esta advertencia? – sblundy

Respuesta

35

es probable que tenga código que se ve algo como esto:

object Hidden { 
    import scala.collection.immutable 
    object immutable { def x = 7 } 
} 

a excepción de una manera menos obvia. Está importando algo, en mi ejemplo, el paquete immutable, y luego va y define otra cosa con el mismo nombre que le impide usar lo que importó.

En particular, parece que ha intentado importar SVNProperties en SVNResource.scala, excepto que SVNResource.scala define su propia SVNProperties que oculta la importación.

+27

Otra causa común es que 'SVNProperties' está en el mismo paquete y, por lo tanto, ya está dentro del alcance. Intentar importarlo da como resultado esta advertencia. – Nick

13

Me encontré con esta advertencia después de mover algunas clases de un paquete a otro. Supongo que hubo algún conflicto entre la nueva ubicación y los binarios de la ubicación anterior. En mi caso esto ayudado:

sbt clean 
+0

Muy cierto. Supongo que ese fue el caso conmigo también – Rakshith

+0

Me pasó después de hacer algunas refactorizaciones pesadas, moviendo clases alrededor de los paquetes. –

0

tuve una clase principal con el nombre del servidor y yo estaba creando un servidor embarcadero en la clase principal de la siguiente manera.

import org.eclipse.jetty.server.Server 

var server:Server=new Server() 

que tiene el siguiente advierten en el funcionamiento de ejecución SBT

> [warn] /home/xxx/xxx/xxx/src/main/scala/com/xxx/xxx/main/Server.scala:3: 

> imported `Server' is permanently hidden by definition of object Server in package main 
    [warn] import org.eclipse.jetty.server.Server 
    [warn]        ^
    [warn] one warning found 

Retitulé mi clase principal y la advertencia desapareció.

0

Recibí esta advertencia cuando mi clase está importando clases en el mismo paquete. Una vez que quité las advertencias, se eliminaron.

1

Esto me pasó después de mover una clase de un paquete a otro, como en el caso de astasiak. Ejecuté sbt clean sin suerte. Por mi vida, no pude encontrar la clase en la ubicación anterior.

Sin embargo, tuve otros errores que me impedían construir. Cuando los solucioné, este error desapareció. Supongo que hasta que pueda compilarse limpiamente, sbt aún cree que tiene la clase en el paquete anterior, e incluye este error con cualquier otro error de compilación que le impida construir.

Mi consejo? Busque otros errores de compilación y corrija esos - es posible que este error se haya producido erróneamente debido a que sbt tiene una vista desactualizada de la estructura de su paquete desde su última compilación exitosa.

Cuestiones relacionadas