【发布时间】:2014-01-26 11:01:45
【问题描述】:
我正在开发简单的应用程序服务器,我想制作扩展插件系统。对于构建插件,我计划创建将生成 scala 源文件的特殊向导。我想要自动编译并加载这些文件,以便将它们的业务逻辑包含到我的应用程序服务器中。是否有可能在 Scala 中完成并且我必须阅读并完成这个想法?
【问题讨论】:
标签: scala reflection scala-compiler
我正在开发简单的应用程序服务器,我想制作扩展插件系统。对于构建插件,我计划创建将生成 scala 源文件的特殊向导。我想要自动编译并加载这些文件,以便将它们的业务逻辑包含到我的应用程序服务器中。是否有可能在 Scala 中完成并且我必须阅读并完成这个想法?
【问题讨论】:
标签: scala reflection scala-compiler
你有两个选择。
使用 OSGi。它是为插件设计的,并且在加载/卸载服务、处理跨服务依赖等方面有一些非常好的功能。不利的一面是,这确实意味着你必须预编译你的插件并将它们与有效的 OSGi 清单一起包装在 jar 文件中。
使用ScalaScriptEngine(或类似的东西)。它似乎已经满足了您的所有要求:)
【讨论】: