2017-10-29 6 views
0

私はプロジェクトのリソースセクションに追加されたスクリプトを持っています。jarのリソースバンドルに含まれるスクリプトを実行します

期待どおりにすべての動作をテストするが、プロジェクトがjarにコンパイルされている場合、リソースはもはや "緩い"ファイルとして利用できなくなる。しかし、代わりに瓶自体に。

どうすればこのスクリプトを使用できますか?このようなスクリプトを実行している開発中の

Jython

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

一時ファイルに解凍して、そのファイルに対してPythonを実行するのを防ぎますか? –

+0

あなたは[Jython](http://www.jython.org/)の使用を検討しましたか? –

+0

この回答は役に立ちます:https://stackoverflow.com/a/26204566/706557 –

答えて

1

使用を次のように

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参照してください。

+0

私はpythonを使いたくありません - 私は多くのリソースを持っています –

+0

しかし、スクリプトはPythonスクリプトです。あなたはJythonを使いたくないということを意味しましたか? –

+0

私はただ例を挙げました。それはルビースクリプト、シェルスクリプト、または任意のリソースである可能性があります。 –

関連する問題