[問題] 函式庫與JRE執行版本不相同之問題
各位板友好,我卡關在這問題上面已有兩個禮拜,實在很苦惱
運行環境:
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)
→
12/27 16:17, , 1F
12/27 16:17, 1F
→
12/27 16:22, , 2F
12/27 16:22, 2F
推
12/27 16:42, , 3F
12/27 16:42, 3F
→
12/27 16:50, , 4F
12/27 16:50, 4F
→
12/28 01:34, , 5F
12/28 01:34, 5F
→
12/28 04:21, , 6F
12/28 04:21, 6F
→
12/28 04:23, , 7F
12/28 04:23, 7F
新增了Expeditor版本跟MQ版本資訊...
※ 編輯: fallingrain8 來自: 140.124.181.250 (12/28 12:09)
→
12/28 12:42, , 8F
12/28 12:42, 8F
→
12/28 12:46, , 9F
12/28 12:46, 9F
→
12/28 12:50, , 10F
12/28 12:50, 10F
→
12/29 12:42, , 11F
12/29 12:42, 11F