当我在sbt 0.13中运行使用getEngineByName(“JavaScript”)的测试时,该方法返回null.
安全代码适用于sbt 0.12.x.
尝试在不同的环境:Windows 7和Mac – 同样的问题.
我试图在sbt中手动设置javaHome.
test:dependencyClasspath包含.ivy2 / cache / rhino / js / jars / js-1.6R7.jar
知道什么是错的吗?
解决方法:
哈哈,事实证明我几个月前自己就遇到过这个问题,并且忘掉了一切!但后来我在我自己的源代码中发现了这个:
// the (null) became necessary when we upgraded to sbt 0.13. I don't understand why.
// classloaders, go figure! - ST 8/26/13
val engine =
(new javax.script.ScriptEngineManager(null))
.getEngineByName("rhino")
.ensuring(_ != null, "JavaScript engine unavailable")
因此将null传递给ScriptEngineManager构造函数是修复…
……但是我不能忽视根本原因,除非我打赌这是一个类加载器的事情.请注意,fork in run:= true也会使问题消失.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。