作者fallingrain8 (我的琴不夠"趁")
看板java
標題[問題] 函式庫與JRE執行版本不相同之問題
時間Sun Dec 27 14:59:50 2009
各位板友好,我卡關在這問題上面已有兩個禮拜,實在很苦惱
運行環境:
IBM Lotus Expeditor 6.2 的DeviceEE
(supports Java ME Foundation 1.1)
(附註1:Expeditor是一個實作OSGi R4的platform)
(附註2:JRE版本1.4)
Websphere MQ 7.0.0.1
開發環境:
Eclipse 3.4 + Expeditor toolkit 6.2
問題是這樣:
我想要在IBM Expeditor產品下的DeviceEE環境撰寫連線到Websphere MQ
並可以用JMS來publish/subscribe message的通訊程式
目前已知:
我發現MQ提供了幾個jar檔,這些jar檔內容符合OSGi規格,讓我可以import這些
jar檔來當成library撰寫JMS程式
但是當我照著sample把我的環境參數填進去之後執行,發現library中某個
叫做Trace的class丟出NoSuchMethod Exception,意思是說JRE環境裡的String
class裡面缺少replaceAll這個函式。
我查看了一下DeviceEE中的JRE裡面的classes.zip,發現確實沒有replaceAll
大致觀察這個運行環境,跟一般JRE 1.6比,它少了很多東西,只有一些基本的
lib
然後我又查詢了一下Sun的JDK 1.6 source code,發現String裡面是有replaceAll
這個函式的
我試著把DeviceEE環境中的String.class用JDK 1.6的String.class取代掉
但是似乎還是會錯
後來我想說自己改一個符合JRE 1.4的String來用,但是replaceAll()裡面有用到
Pattern.class,這個class似乎要JRE 1.5以上才會有
到這裡就卡住了...
問題總結:其實大意就是,library使用了JRE 1.5以上才有的class,但是我的環境只有
JRE 1.4,不知道該如何是好?
拜託各位幫忙看看,提供小弟一些意見,感激不盡
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.45.228.22
※ 編輯: fallingrain8 來自: 114.45.228.22 (12/27 15:01)
→ ken915007:Lotus Expeditor應該有另一套開發工具,會比較快速好用 12/27 16:17
→ ken915007:上面會有所支援的版本~ 12/27 16:22
推 ken915007:可以去ibm information center看看... 12/27 16:42
→ ken915007:另外,可看看有沒有fix pack可以升級上去的 12/27 16:50
→ fallingrain8:我有灌他的toolkit,只是現在卡在這個問題>< 12/28 01:34
→ ken915007:可以詳細說一下所有的版本嗎? 12/28 04:21
→ ken915007:說實在的~我好久沒用LE的東西了… 12/28 04:23
新增了Expeditor版本跟MQ版本資訊...
※ 編輯: fallingrain8 來自: 140.124.181.250 (12/28 12:09)
→ ken915007:我突然想起來~LE不是有包含MQe跟DB2e… 12/28 12:42
→ ken915007:我之前是透過MQe傳到server後,在處理放入到MQ中… 12/28 12:46
→ ken915007:可去看看redbook - sg246496 12/28 12:50
→ fallingrain8:感謝ken提供資訊,我這就去看redbook 12/29 12:42