执行jar中资源包中包含的脚本

时间:2017-10-29 14:45:25

标签: java scala sbt

我有一个脚本添加到项目的资源部分。

当按预期测试所有工作时,但是当项目被编译到jar时,资源不再可用作"松散"文件。但相反,在罐子里。

在这种情况下,我如何仍然使用该脚本?

在开发中运行这样的脚本:

val script: String = getClass.getResource("/scripts/myScript.py").getPath
...
s"python $script $flags"!

1 个答案:

答案 0 :(得分:1)

Jython 一起使用,如下所示:

import java.io.InputStreamReader
import javax.script.ScriptEngineManager

val pyEngine = new ScriptEngineManager.getEngineByName("python")
val script = new InputStreamReader(getClass.getResourceAsStream("/scripts/myScript.py"))
pyEngine.eval(script)

另见information about installing the latest release of Jython