постоянно скрытое предупреждение в приложении scala - PullRequest
36 голосов
/ 11 февраля 2011

При каждом запуске приложения Scala я получаю следующее предупреждение:

WARN - импортированные `SVNProperties 'навсегда скрыты по определению объекта SVNProperties в ядре пакета, в строке 4 приложения / core / SVNResource.scala

Что бы это могло значить?

Ответы [ 6 ]

38 голосов
/ 12 февраля 2011

Возможно, у вас есть код, который выглядит примерно так:

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

кроме менее очевидным способом. Вы импортируете что-то - в моем примере пакет immutable - и затем идете и определяете что-то еще с тем же именем, которое мешает вам использовать импортированное вами.

В частности, похоже, что вы пытались импортировать SVNProperties в SVNResource.scala, за исключением того, что SVNResource.scala определяет собственный SVNProperties, который скрывает импорт.

24 голосов
/ 15 июня 2015

Я столкнулся с этим предупреждением после перемещения некоторых классов из одного пакета в другой.Я предполагаю, что был некоторый конфликт между новым местоположением и двоичными файлами от старого местоположения.В моем случае это помогло:

sbt clean
7 голосов
/ 12 мая 2016

Я получил это предупреждение, когда мой класс импортировал классы в том же пакете.

Как только я удалил ненужный импорт, предупреждения были удалены.

1 голос
/ 12 июля 2016

Это случилось со мной после перемещения класса из одной упаковки в другую, как в случае с Астасиаком.Я бежал sbt clean без удачи.Для жизни я не мог найти класс в старом месте.

Однако у меня были другие ошибки, мешавшие мне строить.Когда я их исправил, эта ошибка исчезла.Я предполагаю, что до тех пор, пока вы не сможете выполнить чистую сборку, sbt все еще думает, что у вас есть класс в старом пакете, и включает эту ошибку в любые другие ошибки сборки, которые мешают вам строить. Проверьте другие ошибки компиляции и исправьте их - вы можете ошибочно получить эту ошибку из-за sbt устаревшего представления структуры вашего пакета с момента его последней успешной сборки.

0 голосов
/ 15 февраля 2019

Если вы используете Scala Eclipse IDE, вы можете сделать:

Проект> Чистота ...

После этого все предупреждения будут удалены.

0 голосов
/ 10 мая 2016

У меня был основной класс с именем Сервер , и я создавал в основном классе джет-сервер следующим образом.1006 * sbt run

 > [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

Я переименовал свой основной класс, и предупреждение исчезло.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...