- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在使用 Salat 时遇到了一个奇怪的问题,尤其是在我运行 Play 网络应用程序时会发生这种情况。
这是堆栈跟踪:
Caused by: java.util.concurrent.ExecutionException: Boxed Error
at scala.concurrent.impl.Promise$.resolver(Promise.scala:52) ~[scala-library.jar:na]
at scala.concurrent.impl.Promise$.scala$concurrent$impl$Promise$$resolveTry(Promise.scala:44) ~[scala-library.jar:na]
at scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:116) [scala-library.jar:na]
... 9 common frames omitted
引起:com.novus.salat.util.GraterGlitch:
GRATER GLITCH - unable to find or instantiate a grater using supplied path name
REASON: Very strange! Path='domain.content.Exam' from pickled ScalaSig causes ClassNotFoundException
Context: 'global'
Path from pickled Scala sig: 'domain.content.Exam'
at com.novus.salat.Context$class.lookup(Context.scala:213) ~[salat-core_2.10-1.9.2.jar:1.9.2]
at com.novus.salat.global.package$$anon$1.lookup(global.scala:29) ~[salat-core_2.10-1.9.2.jar:1.9.2]
at com.novus.salat.package$.grater(package.scala:62) ~[salat-core_2.10-1.9.2.jar:1.9.2]
at com.novus.salat.dao.SalatDAO.<init>(SalatDAO.scala:48) ~[salat-core_2.10-1.9.2.jar:1.9.2]
at domain.content.ExamDAO$.<init>(Exam.scala:31) ~[classes/:na]
at domain.content.ExamDAO$.<clinit>(Exam.scala) ~[classes/:na]
at domain.content.Exam$.getAllExamsForTechnology(Exam.scala:22) ~[classes/:na]
at core.ContentService.allExamsForTechnology(ContentService.scala:30) ~[classes/:na]
at controllers.content.ExamController$$anonfun$allExamsForTechnology$1.apply(ExamController.scala:24) ~[classes/:na]
at controllers.content.ExamController$$anonfun$allExamsForTechnology$1.apply(ExamController.scala:22) ~[classes/:na]
at play.api.mvc.ActionBuilder$$anonfun$apply$10.apply(Action.scala:221) ~[play_2.10.jar:2.2.1]
at play.api.mvc.ActionBuilder$$anonfun$apply$10.apply(Action.scala:220) ~[play_2.10.jar:2.2.1]
at play.api.mvc.Action$.invokeBlock(Action.scala:357) ~[play_2.10.jar:2.2.1]
at play.api.mvc.ActionBuilder$$anon$1.apply(Action.scala:309) ~[play_2.10.jar:2.2.1]
at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$5.apply(Action.scala:109) ~[play_2.10.jar:2.2.1]
at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$5.apply(Action.scala:109) ~[play_2.10.jar:2.2.1]
at play.utils.Threads$.withContextClassLoader(Threads.scala:18) ~[play_2.10.jar:2.2.1]
at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4.apply(Action.scala:108) ~[play_2.10.jar:2.2.1]
at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4.apply(Action.scala:107) ~[play_2.10.jar:2.2.1]
at scala.Option.map(Option.scala:145) ~[scala-library.jar:na]
at play.api.mvc.Action$$anonfun$apply$1.apply(Action.scala:107) ~[play_2.10.jar:2.2.1]
at play.api.mvc.Action$$anonfun$apply$1.apply(Action.scala:100) ~[play_2.10.jar:2.2.1]
at play.api.libs.iteratee.Iteratee$$anonfun$mapM$1.apply(Iteratee.scala:481) ~[play-iteratees_2.10.jar:2.2.1]
at play.api.libs.iteratee.Iteratee$$anonfun$mapM$1.apply(Iteratee.scala:481) ~[play-iteratees_2.10.jar:2.2.1]
at play.api.libs.iteratee.Iteratee$$anonfun$flatMapM$1.apply(Iteratee.scala:517) ~[play-iteratees_2.10.jar:2.2.1]
at play.api.libs.iteratee.Iteratee$$anonfun$flatMapM$1.apply(Iteratee.scala:517) ~[play-iteratees_2.10.jar:2.2.1]
at play.api.libs.iteratee.Iteratee$$anonfun$flatMap$1$$anonfun$apply$13.apply(Iteratee.scala:493) ~[play-iteratees_2.10.jar:2.2.1]
at play.api.libs.iteratee.Iteratee$$anonfun$flatMap$1$$anonfun$apply$13.apply(Iteratee.scala:493) ~[play-iteratees_2.10.jar:2.2.1]
at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24) [scala-library.jar:na]
at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24) [scala-library.jar:na]
... 6 common frames omitted
出现这个奇怪错误的原因是什么?
最佳答案
我在 Play 2.4.x 中遇到了同样的问题。但是 sparkr 的解决方案还不够,因为 Play 会在每次代码更改时不断创建新的类加载器。以下 hack(在 Globals.scala
中)似乎解决了这个问题:
import play.api.{Play, Application, GlobalSettings}
import com.novus.salat.global.{ctx => SalatGlobalContext}
object Global extends GlobalSettings {
override def onStart(app: Application) = {
SalatGlobalContext.clearAllGraters()
SalatGlobalContext.registerClassLoader(Play.classloader(Play.current))
}
}
关于mongodb - Salat GRATER GLITCH ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20715277/
Closed. This question needs to be more focused。它当前不接受答案。
我正在尝试使用 JavaFX 证明一个可扩展的小部件,它与 TitledPane 的不同之处在于标签周围的边框随着小部件的扩展而增长。我找到了一种方法。 但是我有一个奇怪的故障,在展开/折叠一两次后出
我在 IE9、:hover 和 CSS 背景属性中出现了一些非常奇怪的行为。 这几乎就像悬停和非悬停属性在不应该的时候交换了(换句话说,悬停属性变成了非悬停属性)。我只是用背景颜色和 SVG 渐变进行
我在使用 Firefox 的网站上遇到了一个“小”问题。在 Google Chrome 和 Safari 上,它工作得很好。 它应该是什么(Chrome 和 Safari): Firefox 上的问题
我一直在 glitch.com 中摆弄 HTML 代码,我想知道如何让某人输入一个输入并保存该输入,以便他或其他人可以看到它,有点像消息,有没有办法使用 JavaScript 的 console.lo
按住单个箭头键时,该功能可以正常工作。 但是,当我按住第二个箭头键并释放第二个键时,就会出现问题,不再检测到第一个按住的键。 我的函数的简化版本如下: document.body.onkeyup =
我在移动网站上使用 jQuery Mobile (v1.4.5.) 时遇到固定页脚的一些故障。 当有很多文本(需要滚动)时,没有问题。当文本很少(不需要滚动)时,没有问题。 当文本刚好需要稍微滚动一下
我使用 Glitch 编写一个 WebVR 项目。如果我直接在views/index.html中设置脚本,效果很好。但是如果我将脚本保存在 js/opencloserawer.js 中并将其导入到 i
我是 bootstrap 的新手,正在学习。我讨厌演示示例,它破坏了语义以使其看起来不错。无论如何... 我在示例网站上工作,theavcorp.com ,并在学习 Bootstrap 时尽量不要“破
我试图在将鼠标悬停在某个元素上时更改该元素的宽度。它似乎可以工作,但只要我将鼠标悬停在元素上,它就会一直过渡,从而导致类似故障的循环。我怎样才能使转换只发生一次? 谢谢。 html:
这个问题已经有答案了: Why doesn't adding CORS headers to an OPTIONS route allow browsers to access my API? (36
我试图在 C 中创建一个矩阵来求解拉普拉斯算子 然而,这是错误的。我已经在矩阵的初始化阶段找到了问题。程序每次运行时,都会在一个元素中放置一个看似随机的值。这个数字每次都会改变,表明代码不稳定,如果矩
我正在尝试为网站制作故障文本效果。在 Stackoverflow 上,它工作得很好。目前很好。 但问题不在我的元素文件夹中。如果您想查看它,请点击此处下载它: Download 这是 HTML、CSS
我网站的用户在执行任何 jQuery 代码之前在每个页面上看到了一个半秒故障。此代码操纵页面,因此您可以明显地看到元素在一大块中移动,使用户体验感到笨拙。我希望页面在 JavaScript 运行之前完
我在使用 Salat 时遇到了一个奇怪的问题,尤其是在我运行 Play 网络应用程序时会发生这种情况。 这是堆栈跟踪: Caused by: java.util.concurrent.Executio
我有一个子菜单,当悬停在导航元素上时,它会变为可见。当该元素不再悬停时,子菜单将变为不可见并向上移动。我已经在下面附上了我的部分代码。我面临的问题是,由于子菜单就在导航元素的正下方,向上移动会在转换期
如何在 Glitch.com 上创建和使用 Python 3.7? 我创建了一个项目。默认的 Python 版本是旧的。 我使用这些文件在 Glitch 上运行 Python: 主文件 import
我正在使用 BottomNavigationView 并将 ListView 添加到我的布局中。添加这个ListView后,之前的屏幕不会消失,并且这个新屏幕会覆盖之前的屏幕。有人知道为什么会发生这种
一般的 IE8 和 Javascript:导致 IE8 性能故障的常见问题是什么?有人知道在为 IE8 开发脚本时要避免的一系列问题和事情吗?生成在 Firefox 上运行时间为 200 毫秒,在 I
下面脚本的目的是允许用户发布新的更新并在不刷新页面的情况下删除它们:这就是我使用 AJAX 的原因。 有两个小故障: 当用户发布更新时,它会正确保存在数据库中,并且正确的更新会在我的表格中向下滑动,但
我是一名优秀的程序员,十分优秀!