加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

嵌入式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中,你应该能够启动调度或你需要的任何库.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读