2013-04-02 173 views
0

之前我們有一個基於Eclipse平臺上的軟件,它記錄了許多重要的信息。爲了得到這些消息,我們有一個工具,收集這些日誌,將它們保存在一個zip文件中,並刪除舊的日誌。執行代碼OSGI

現在,我們希望,我們的工具執行當用戶開始我們的軟件(通過點擊可執行文件),但任何事情之前已經登錄。但是,我們無法找到解決方案。

我們到目前爲止試過的東西:
我們想過把它打包在一個OSGI包中,並強制它儘早開始。這是不可能的(或不需要),因爲在加載bundle之前,日誌中已經有消息。

另一次嘗試是使用-startup parameter爲可執行文件,開始我們的工具(它的工作原理自動),然後執行發射。但是,有兩個問題:

  1. 我們不能啓動該工具,我們得到了一個的NoSuchMethodError:運行 -exception。代碼中既沒有方法,也沒有我們所稱的方法。

  2. 我們不知道如何下手春分-發射。

有沒有辦法在加載osgi平臺之前啓動我們的工具?

回答

2

爲什麼不write your own launcher

+0

這是一個選項,但如果有更簡單的解決方案,我會很高興。 – looper

+0

恕我直言,這是更簡單的解決方案。現有的Equinox發射器是一團糟。 –

0

什麼很老的shell腳本?

+0

'當用戶啓動我們的軟件時(通過點擊可執行文件)'這對我們至關重要。 – looper

+0

我有一個工具(jpm4j),可以讓你做到這一點,它重用了bnd啓動器。 bnd可以創建一個可執行的jar。它的啓動器嵌入了激活碼,可以重複使用,我猜在發生任何事情之前就可以給出代碼。然後,jpm可以將它變成windows的exe文件,或者macos或linux上的(可點擊)腳本。但是,這仍然是實驗性的。當你想玩它時,請聯繫我[email protected]。 –