在我的XPages項目中,我想使用名爲ActiveMQ的第三方Java庫。在Domino Designer中,我將包含所有類的jar文件添加到構建路徑。在我自己的Java代碼(而不是Java代理)中使用這些類可以工作,並且我可以無任何錯誤地構建XPage應用程序。使用第三方Java庫時獲取UnsupportedClassVersionError
然而,當我嘗試在XPage上運行我的Java功能,我得到一個UnsupportedClassVersionError:
java.lang.UnsupportedClassVersionError: JVMCFRE003 bad major version; Class=org/apache/activemq/ActiveMQSslConnectionFactory, Offset=6
後跟一個NoClassDefFoundError的:
java.lang.NoClassDefFoundError: org/apache/activemq/ActiveMQSslConnectionFactory
這可能只是由於後續錯誤發生的歷史到第一個(糾正我,如果我錯了)。
UnsupportedClassVersionError表明第三方庫的構建版本高於Domino服務器(Domino 9.0.1 FP4)上使用的Java版本。執行System.getProperty("java.version")
返回1.6.0(= Java 6)。根據release notes,第三方Java庫(ActiveMQ 5.8.0)已被編譯爲「jdk6」並使用jdk7進行了驗證「」。
有人可以告訴我爲什麼我會得到這個錯誤,即使庫已經用我用來運行我的代碼的相同Java版本構建?
PS:因爲額外的JRE7已安裝在該計算機上的服務器計算機的命令行執行java -version
返回Java版本1.7.0。然而,「應該」在XPage上執行的版本是Domino JVM(1.6.0)的版本。我仍然想提及...
這不是與Java兼容6.嘗試5.10系列,而不是=> http://activemq.2283324.n4.nabble.com/is-activemq-5-11-1 -compatible-with-java-1-6-td4692124.html –
@SvenHasselbach:在發佈我的問題之前,我已經閱讀了你鏈接的主題,但由於它是關於ActiveMQ 5.11不支持Java 6的,我只確保我使用的版本低於此 - 這就是爲什麼我使用5.8版本:發行說明明確地說它是用JDK6編譯的......我想說的是:我不明白5.8爲什麼不起作用,但奇怪的是5.10能工作。非常感謝您的評論 - 它解決了我的問題。你能否寫下評論作爲答案,因爲我很樂意爲你提供一些幫助。 –