2
我使用Glassfish 3.1.2.2
來託管幾個Web應用程序,其中一些應用程序使用JodaTime
。最近,我已將版本JodaTime
從1.6.2
更新爲2.0
。這樣做後,我得到錯誤的問題是這樣的:Glassfish和JodaTime
java.lang.NoSuchMethodError: org.joda.time.DateTime.compareTo(Lorg/joda/time/ReadableInstant;)I
這通常表示classpath中的依賴崩潰,但我找不到我的計劃了的JodaTime
多個版本,2.0
是唯一一個。經過一些更多的挖掘和調試以找到DateTime
-class從哪裏加載,我發現它從[glassfish]\modules\joda-time-1.6.2.jar
加載,這當然不是我想要的。
爲什麼玻璃魚在每個應用程序的類路徑中都包含像JodaTime
這樣的庫的特定版本,並且可以安全地將其刪除/替換爲2.0
版本?
我明白了,一定是我的團隊裏有一些聰明的褲子。 – Tobb 2014-10-01 07:33:08