使用sbt从代码启动scala repl循环
发布时间:2020-12-16 19:24:26 所属栏目:安全 来源:网络整理
导读:我正在尝试启动一个 scala repl循环(使用breakif),我正在建立/运行SBT,我试图按照常见问题解答中的建议,但无法让它工作. 有人可以举例说明正在用于配置设置的MyType,“MyType是一个代表类,应该包含在解释器的类路径和应用程序类加载器中” https://github.co
我正在尝试启动一个
scala repl循环(使用breakif),我正在建立/运行SBT,我试图按照常见问题解答中的建议,但无法让它工作.
有人可以举例说明正在用于配置设置的MyType,“MyType是一个代表类,应该包含在解释器的类路径和应用程序类加载器中” https://github.com/harrah/xsbt/wiki/FAQ(在“我如何在代码中使用Scala解释器?”下) 使用scala 2.9.1和sbt 0.11 谢谢 解决方法
FAQ链接到
background discussion,它演示了MyType的实际使用方式,
用法: val settings = new Settings() settings.embeddedDefaults[MyType] SBT内部: def embeddedDefaults[T: Manifest] { val loader = implicitly[Manifest[T]].erasure.getClassLoader explicitParentLoader = Some(loader) // for the Interpreter parentClassLoader getClasspath("app",loader) foreach { classpath.value = _ } getClasspath("boot",loader) foreach { bootclasspath.value = settings.bootclasspath.value + File.separator + _ } } 所以MyType仅用于帮助SBT找到合适的类加载器.据推测,您可以选择MyType作为您希望从解释器中获得的项目中的任意类.这基本上是FAQ所说的:MyType是一个代表类,应该包含在解释器的类路径和应用程序类加载器中. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |