嵌入式Scala REPL继承父类路径
发布时间:2020-12-16 08:55:16 所属栏目:安全 来源:网络整理
导读:正如在 Scala邮件列表上的 this thread中所问,如何创建一个继承父程序类路径的嵌入式Scala REPL?假设使用scala -cp classpath启动父Scala程序…;可以 classpath作为字符串访问并用于初始化嵌入的REPL? (通过System.getProperty(“java.class.path”)提供的
正如在
Scala邮件列表上的
this thread中所问,如何创建一个继承父程序类路径的嵌入式Scala REPL?假设使用scala -cp< classpath>启动父Scala程序…;可以< classpath>作为字符串访问并用于初始化嵌入的REPL? (通过System.getProperty(“java.class.path”)提供的Java类路径似乎与Scala类路径不同.)
或者,也许嵌入式Scala REPL可以从父进程继承或构造其ClassLoader(MichaelDürig的ScalaDays 2010讲话可能是相关的).这是推荐的方法吗? 解决方法
我正在尝试做同样的事情,我刚刚在
Googling找到了一个方法:
lazy val urls = java.lang.Thread.currentThread.getContextClassLoader match { case cl: java.net.URLClassLoader => cl.getURLs.toList case _ => error("classloader is not a URLClassLoader") } lazy val classpath = urls map {_.toString} 上面的代码为您提供当前上下文中的类路径. settings.classpath.value = classpath.distinct.mkString(java.io.File.pathSeparator) 把它放到您的settings.classpath中,你应该能够启动调度或你需要的任何库. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |