2011-11-02 39 views
0

我有一個lib /文件夾在我的Eclipse插件項目和這個文件夾我有一個小腳本......但是當我運行'Eclipse插件項目'我無法執行該腳本,因爲我無法訪問該文件夾...如何在Eclipse插件中執行腳本?

我該如何解決這個問題?

- 預先感謝

回答

1

如果你可以通過一個InputStreamString來解釋,放在src/文件夾中執行腳本,所以它在classpath中端和使用getClass().getClassLoader().getResourceAsStream("script-name")得到一個InputStream

如果解釋器是外部的(例如bash或者其他沒有實現Java腳本API的東西),請執行相同的操作。當您需要執行腳本時,請創建一個流並將腳本複製到臨時文件。

將腳本保存在lib/也是一個壞主意,因爲除非您關閉該插件,否則該插件將被組合到一個JAR文件中,因此您最終將在JAR內部生成一個腳本文件 - 這也是大多數解釋器不能使用。

通過使用類路徑,您可以讓Eclipse找出數據的位置。

+0

其實,我的「腳本」是一個二進制文件(可執行文件)...我如何創建一個流並將二進制文件複製到臨時可執行文件?! – josecampos

+0

用'File.createTempFile()'創建一個臨時文件,爲其打開一個'OutputStream',複製你從類路徑中獲得的'InputStream'(見上面的代碼)。 –

+0

嗯,它的工作...謝謝你亞倫。 – josecampos