2011-05-02 48 views
0

我只是想知道是否有任何Java類編輯器在J2ME環境中工作。我已經看過了使用Java 1.4的aspectwerkz,但是有一些依賴關係在J2ME上不起作用,再加上它對我的項目來說太大了。我也看了一下Objectweb ASM,但它需要Java 5.我見過其他庫,比如BCEL和AspectJ,但它們都不起作用。所以基本上,我正在尋找一個可以修改類文件的Java庫(不管是否通過字節碼)並運行在J2ME環境中。謝謝。J2ME上的Java類/字節碼編織/編輯?

+0

我發現asm版本3.3.1適用於J2ME和HelloWorld示例。我想我會處理這個問題,但是如果能夠插入原始Java代碼的AspectJ之類的「高級」庫,那將是很好的選擇。如果沒有像J2ME那樣的東西存在,我想我可以自己創建這個庫。 – Yifan 2011-05-02 21:02:41

回答

1

Javassist看起來像它會。請參閱教程的最後一頁。

+0

謝謝!我之前看過一個Javassist,但它給了我一個錯誤:「javassist.CannotCompileException:找不到java.lang.Object」這很可能是因爲我正在使用java cvm預裝很多類。我只是將Object.class添加到我的類路徑,它工作。也許我會修改源代碼以做得更好。 – Yifan 2011-05-02 21:18:59

+0

另外,Javassist是否支持「實時編輯」。例如,我編寫了一個自定義的類加載器,在加載它之前在內存中修補類,並且實際上並不觸及類文件? – Yifan 2011-05-02 21:19:43

+0

你問你是否可以修改沒有從類文件加載的類?如果是這樣,我認爲是這樣;請參閱教程。 – Ladlestein 2011-05-02 22:41:20

0

Retroweaver是要看的東西。由於源代碼可用,您可能可以根據需要對其進行修改。