0
我有一個lib /文件夾在我的Eclipse插件項目和這個文件夾我有一個小腳本......但是當我運行'Eclipse插件項目'我無法執行該腳本,因爲我無法訪問該文件夾...如何在Eclipse插件中執行腳本?
我該如何解決這個問題?
- 預先感謝
我有一個lib /文件夾在我的Eclipse插件項目和這個文件夾我有一個小腳本......但是當我運行'Eclipse插件項目'我無法執行該腳本,因爲我無法訪問該文件夾...如何在Eclipse插件中執行腳本?
我該如何解決這個問題?
- 預先感謝
如果你可以通過一個InputStream
或String
來解釋,放在src/
文件夾中執行腳本,所以它在classpath中端和使用getClass().getClassLoader().getResourceAsStream("script-name")
得到一個InputStream
如果解釋器是外部的(例如bash
或者其他沒有實現Java腳本API的東西),請執行相同的操作。當您需要執行腳本時,請創建一個流並將腳本複製到臨時文件。
將腳本保存在lib/
也是一個壞主意,因爲除非您關閉該插件,否則該插件將被組合到一個JAR文件中,因此您最終將在JAR內部生成一個腳本文件 - 這也是大多數解釋器不能使用。
通過使用類路徑,您可以讓Eclipse找出數據的位置。
其實,我的「腳本」是一個二進制文件(可執行文件)...我如何創建一個流並將二進制文件複製到臨時可執行文件?! – josecampos
用'File.createTempFile()'創建一個臨時文件,爲其打開一個'OutputStream',複製你從類路徑中獲得的'InputStream'(見上面的代碼)。 –
嗯,它的工作...謝謝你亞倫。 – josecampos