當前位置:首頁 > 資訊 > info6 > 正文

spring企業應用論壇搭建遇到的問題

發表于: 2016-08-08   作者:chenaini119   來源:轉載   瀏覽:
摘要: 1.解決Failedtoloadclass“org.slf4j.impl.StaticLoggerBinder”hibernate工程里面使用的是hibernate3.3.1的Lib。提示信息中多次提到SLF4J,google了一下,才發現這是現在的Hibernate使用SLF4JAPI記錄日志,所以在Hibernate的lib中,不再提供Log4J的包,而大部分框架依然使用Log4J記錄日志,這

1.解決Failed to load class “org.slf4j.impl.StaticLoggerBinder”

hibernate工程里面使用的是hibernate3.3.1的Lib。
提示信息中多次提到SLF4J,google了一下,才發現這是現在的Hibernate使用SLF4J API記錄日志,所以在Hibernate的lib中,不再提供Log4J的包,而大部分框架依然使用Log4J記錄日志,這樣導致了兼容性問題。
解決辦法,兩步:

    一、在編譯路徑中添加Log4J的包,比如我一直在用的log4j-1.2.8.jar; 

    二、再添加一個叫做slf4j-log4j12-1.5.11.jar的包進行轉換,注意到這里的log4j12,可能對應的是log4j 1.2版本。 

補充:
SLF4J官方下載:http://www.slf4j.org/download.html
下載對應版本后加壓找到slf4j-log4j12-XX.jar即可

2.解決java.lang.NoSuchMethodError: org.slf4j.helpers.MessageFormatter.arrayFormat(Ljava/lang/String;[Ljava

關于Logback的一個異常
java.lang.NoSuchMethodError: org.slf4j.helpers.MessageFormatter.arrayFormat(Ljava/lang/String;[Ljava/lang/Object;)Lorg/slf4j/helpers/FormattingTuple;
原因可能有兩個:
1、jar包沖突,build path下可能加入了 slf4j-log4或者 log4j的jar包,刪除即可。

2、jar包版本導致的,例如 如果你的Logback是1.0.6版本,那么你的slf4j需要[1.5.5, 1.5.6, 1.5.7, 1.5.8, 1.5.9, 1.5.10, 1.5.11]版本的。
SLF4J: The requested version 1.6 by your slf4j binding is not compatible with [1.5.5, 1.5.6, 1.5.7, 1.5.8, 1.5.9, 1.5.10, 1.5.11]
不管是Logback版本高還是slf4j的低只要找對匹配的版本即可。

3.解決The superclass “javax.servlet.http.HttpServlet” was not found on the Java Build Path

JSP頁面頂端出現“紅色”的報錯信息:The superclass “javax.servlet.http.HttpServlet” was not found on the Java Build Path。原來Javaweb工程類中沒有添加Tomcat運行時相關類導致。
下面是具體的解決方法:
1、右擊web工程-》屬性或Build Path-》Java Build Path->Libraries-> Add Libray…->Server Runtime -》Tomcat Server
2、切換到Java Build Path界面中的Orader and Export,選擇Tomcat。

注意:
按以上方法操作時,若打開Server Runtime后一片空白,需要設置Apache服務器。設置方法為:window->Preferences->Server->Runtime Environment -> add –> 選擇Apache的版本后點Next,再填入你apache服務器軟件的安裝(解壓后)地址。

4.解決java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderL,spring獲取context
ava虛擬機是根據Java ClassLoader(類加載器)決定如何加載Class。
系統默認提供了3個ClassLoader
Root ClassLoader,ClassPath Loader,Ext ClassLoader
我們也可以編寫自己的ClassLoader,去加載特定環境下的Jar文件。
能不能加載Jar,加載哪里的Jar,是由ClassLoader決定的。

樓主的問題可能是 導入的僅僅是jar包的引用,例如在eclipse中通過build path加進user lib……(類似快捷方式)
這種在Java Application中沒問題,但在web Application中可能會出現找不到類的異常。
在WEB Application中jar包最好放在webroot或webcontent下的lib文件夾內,特別是xml中用到的jar包。

javalangClassNotFoundException: orgspringframeworkwebcontextContextLoa
spring-web 的jar包沒導進去
jar包郵沖突,把重復的jar包刪除
在web.xml加上 contextConfigLocation classpath:applicationContext-*.xml
因為默認的讀取的是/WEB-INF下的配置文件,如果配置文件在src中要把路徑改為類路徑底下
4.把工程刷新一下,因為工程是部署在服務器底下的,要把加入的jar包部署到工程里。

啟動報錯:javalangClassNotFoundException: orgspringframeworkwebcontextContextLoaderListener
jar包不是導入進去就完了,還要buildpath,也就是創建路徑。在Myeclipse里面,右鍵單擊你的jar包,點擊build path–》add build path。完成創建路徑。另外spring的jar包并非只有一個,最基本的有3個。

spring企業應用論壇搭建遇到的問題

版權所有 IT知識庫 CopyRight ? 2009-2015 IT知識庫 IT610.com , All Rights Reserved. 京ICP備09083238號
广东25选5开奖结果