2009-12-23 56 views
0

我試圖部署在GlassFish v2.1的彈簧3應用程序和正在以下錯誤:在GlassFish 2.1 java.lang.NoSuchFieldError的春天3:APPLICATION_CONTEXT_ID_PREFIX

APPLICATION_CONTEXT_ID_PREFIX at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:431) 

我發現春天論壇建議http://forum.springsource.org/showthread.php?t=79929其中說在類路徑中可能有另一個版本的spring。我正在使用maven-2進行依賴關係管理,並且依賴關係圖中沒有其他版本的spring。我也檢查了sun updatecenter,它有一個安裝spring framework 2.5.4的選項,並且它沒有安裝。

我不知道這是否會影響它,但我也有在應用程序服務器上部署的最新版本的JBoss Guvnor和Hudson。

更新:我取消部署所有其他應用程序並重新啓動。這並沒有解決。

任何提示,方向,建議將不勝感激!

回答

0

我安裝了glassfish v3,部署了該應用程序,它工作。但是,這個答案是次優質的。如果有人知道如何在glassfish v2.1上找到或解決問題,請回答。

0

首先想到的是,你有一個transistive依賴。這意味着你的pom文件中的一個依賴關係會加載一個你希望的另一個版本的lib。你可以檢查你的所有依賴關係,包括具有mvn依賴關係的跨分類依賴關係:樹。 如果你找到一個,然後在參與的依賴項中使用exlusion標籤。 祝你好運!

0

確定確定您沒有在更新中心安裝Spring。我通過卸載(使用版本2.5.6)能夠取得進展。