2013-07-01 2 views
0

Я тестирую примеры приложений, поставляемых в комплекте с загрузкой, и они кажутся неработоспособными, но исключение я получение неясно, что происходит.Running Play framework 2.1.1 и получение «исключения при вводе play.Project.javaCore»

Я раньше мог создавать новые приложения в Play, так что это кажется немного странным.

я перешел в папку образцов и просто пытаюсь работаю «играть»:

$ cd ~/play-2.1.1/samples/java/helloworld/ 
$ play 

Который должен вызвать консоль игры.

Вместо этого я получаю этот выход + исключение: (? SBTLink)

[info] Loading project definition from /home/john/play-2.1.1/samples/java/helloworld/project 
exception when typing play.Project.javaCore 
class file needed by PlayReloader is missing. 
reference type SBTLink of package play.core refers to nonexisting symbol. in file /home/john/play-2.1.1/samples/java/helloworld/project/Build.scala 
scala.tools.nsc.symtab.Types$TypeError: class file needed by PlayReloader is missing. 
reference type SBTLink of package play.core refers to nonexisting symbol. 
    at scala.tools.nsc.symtab.classfile.UnPickler$CompileScan.toTypeError(UnPickler.scala:66) 
    at scala.tools.nsc.symtab.classfile.UnPickler$CompileScan$LazyTypeRef.complete(UnPickler.scala:79) 
    at scala.tools.nsc.symtab.classfile.UnPickler$CompileScan$LazyTypeRef.load(UnPickler.scala:81) 
    at scala.tools.nsc.symtab.Symbols$Symbol.typeParams(Symbols.scala:913) 
... <rest omitted for brevity> ... 
[error] (compile:compile) java.lang.Error 
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? 

Похоже, что это не решение зависимости или что-то, как это жалуется, что не может найти определенный класс? Но на самом деле не так уверен, что здесь происходит.

У кого-нибудь есть идеи о том, что я делаю неправильно?

UPDATE: на самом деле это похоже на другие игровые проекты - так что это не относится к образцам приложений.

Я только что смог сделать новое приложение в порядке (используя «play new»), но когда я переключаюсь в его папку и запускаю «игру», я получаю то же исключение, что и выше.

ответ

0

Хорошо, поэтому в конце концов мне пришлось удалить кеш хранилища - я предполагаю, что он каким-то образом испорчен. Это объясняет, почему он жаловался на то, что не смог найти файлы классов.

Другая возможность о том, почему она перестала работать, может быть вызвана обновлением самой Java. Было хотя бы одно обновление java (до 1.7.0_25 на ubuntu), так как я в последний раз пробовал запустить игру, поэтому, возможно, там была какая-то проблема (возможно, файл с небольшим двоичным классом изменился?).

Моя папка игры находится в моем домашнем каталоге, так что я сделал следующее:

$ cd ~/play-2.1.1/ 
$ rm -r repository/cache/ 

Затем попытался запустить игру снова в одной из папок образца приложения. Потребовалось некоторое время (предположительно, поскольку это было восстановление кеша), а затем работало.

Смежные вопросы