2015-12-07 136 views
1

部署耳朵時,當我的weblogic管理員控制檯上部署我ear文件,我碰到下面的錯誤 -越來越ClassNotFound的異常在WebLogic

javax.servlet.ServletException: [HTTP:101249][[email protected][app:CorporateActionDatabaseEAR-0 module:/CorporateActionDatabaseWAR path:/CorporateActionDatabaseWAR spec-version:null]]: Servlet class org.glassfish.jersey.servlet.ServletContainer for servlet Jersey Web Application could not be loaded because the requested class was not found in the classpath . java.lang.UnsupportedClassVersionError: org/glassfish/jersey/servlet/ServletContainer : unsupported classversion 51.0. 

任何想法,爲什麼發生這種情況?我知道它與添加jersey-container-servlet-core jar有關,但是我添加了哪個模塊?我的war模塊或我的jar模塊或我的ear模塊?請注意,這是一個maven web項目,我已經從中獲得了ear文件。

我的Java版本是1.7,我已經嘗試添加jersey-core-1.17.1jersey-servlet-1.17.1war模塊的構建路徑,但我似乎仍然得到同樣的錯誤。

非常感謝!

+1

http://stackoverflow.com/questions/22022114/org-glassfish-jersey-servlet-servletcontainer-classnotfoundexception – andrucz

回答

0

您使用的是哪個版本的JRE for weblogic?

「不支持的類別X.Y.」 JVM嘗試加載已使用更高版本的Java編譯的類文件時發生錯誤。在這種情況下,51.0表示他的類文件已經用java 1.7編譯,並且可能是您的java版本是< 1.7。在這種情況下,我看到兩個選項來解決問題

  1. 使用java 1.7或更高版本來運行weblogic。
  2. 或者獲得與您的JRE兼容的jersey-container-servlet-core jar(以及依賴jar)(如果有的話)。
+0

但我使用Java版本1.7! @MadhusudanaReddySunnapu – TheLuminor

+0

對不起,我的java版本被設置爲1.7。而weblogic JRE版本是1.6。從這個鏈接的oracle網站,我很清楚,weblogic不附帶Java 7。雖然我已經安裝在我的電腦上。關於如何使Weblogic運行版本7而不是默認1.6的任何想法? @MadhusudanaReddySunnapu – TheLuminor

+0

如果已經安裝了weblogic,我認爲你必須通過手動更新像setDomainEnv.bat/sh&commEnv.sh/bat這樣的weblogic確認文件來做到這一點。需要將JAVA_HOME或JDK *或JRE *相關設置的變量更新爲指向java 7.或者,如果您有重新安裝weblogic的選項,請參閱https://docs.oracle.com/cd/E23943_01/ doc.1111/e14142/jdk7.htm#WLSIG262 –