0

我正在尝试与播放下载捆绑在一起的示例应用程序,它们似乎无法正常工作,但我得到的异常并不清楚发生了什么。

我以前可以在 Play 中创建新的应用程序,所以这似乎有点奇怪。

我切换到示例文件夹并简单地尝试运行“播放”:

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

哪个应该调出游戏控制台。

相反,我得到了这个输出+异常:

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

看起来它没有解决依赖关系或其他问题,因为它抱怨找不到特定的类(SBTLink?)?但真的不太清楚这里发生了什么。

有人对我做错了什么有任何想法吗?

更新:实际上这似乎发生在其他游戏项目中 - 所以它并不特定于示例应用程序。

我刚刚能够使一个新应用程序正常(使用“play new”),但是当我切换到它的文件夹并运行“play”时,我得到了与上面相同的异常。

4

1 回答 1

0

好的,所以最后我不得不删除存储库缓存 - 我猜它已经以某种方式损坏了。这可以解释为什么它抱怨无法找到一些类文件。

关于它为什么停止工作的另一种可能性可能是由于对 java 本身的更新。自从我上次尝试运行 play 以来,java 至少有一次更新(在 ubuntu 上更新到 1.7.0_25),所以那里可能存在一些问题(可能是小的二进制类文件更改?)。

我的播放文件夹在我的主目录中,所以我做了以下操作:

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

然后尝试在示例应用程序文件夹之一中再次运行 play。花了一段时间(大概是因为它正在重建缓存)然后才起作用。

于 2013-07-02T08:36:58.717 回答