今天寫le一個(gè)bundle,名字叫JmsSendBundle,用spring的jms template來實(shí)現(xiàn)發(fā)送jms消息.,寫完之后,在eclipse環(huán)境中運(yùn)行都正常,但導(dǎo)出到我的osgi環(huán)境中,始終報(bào)一個(gè)錯(cuò)誤:java.lang.NoClassDefFoundError: javax/naming/Referenceable
搞了一上午,最后比較eclipse和我自己的osgi的啟動(dòng)環(huán)境變量,發(fā)現(xiàn)eclipse中osgi.compatibility.bootdelegation的值是true,而我的是false,結(jié)果把這個(gè)參數(shù)改成true之后就可以了.
然后去google了下osgi.compatibility.bootdelegation這個(gè)參數(shù)的作用,如果該參數(shù)值為"true",當(dāng)一個(gè)類或資源查找不到時(shí),類加載器會(huì)啟動(dòng)父類加載器進(jìn)行最后的查找。該參數(shù)的默認(rèn)值為"true",不知道我的為什么缺省成false了.