at com.opensymphony.xwork2.util.FileManager$FileRevision.needsReloading(FileManager.java:209)

修改 struts.xml 裏面的 struts.devMode 常量值爲 true,

目的在於每次對 action 進行修改時,不用重啓 tomcat 服務器便可自動進行 loading。但修改後重啓 tomcat 時出現空指針錯誤:

經過百度查找,共有以下幾種解決方案,收集如下:
1. 這個屬於struts2.1的bug,tomcat目錄不能有空格。

原文來自:http://blog.csdn.net/lgm277531070/article/details/5337252

 

2. devMode模式是開發模式,開啓它則默認開啓了i18n.reload、 configuration.xml.reload。這個錯誤是由於configuration.xml.reload設置爲true倒置的,但是網上的資料沒有說明原因及解決辦法,倒是一個國外的apache相關BBS上有人說這是216版本的BUG,並且附上了一個.patch修正文件,說217版本會修正。。。可我不會用也不知道是不是這個原因,這個問題就一直擱置在這裏了。過了幾個月,也就是最近網上查了下發現在apache的一個郵件列表中有關於這個的解釋,原因很簡單,tomcat的安裝路徑包含空格。。。無語啊。。。一試果然如此。
我的成功的辦法:據說這是struts2.1.6的bug,換新版本2.1.8就ok,當然還要相應的xwork版本,好像是xwork2.1.6,我將原來的2箇舊jar包換成新的就ok了。

注意:2個jar包換了之後重啓tomcat可能會報錯, Unable to load bean: type: class:com.opensymphony.xwork2.ObjectFactory - bean - jar,這個錯誤是開始那個引起的,把tomcat中相應項目刪除了,重新部署就沒問題了

   下面是4個開發模式常用配置的簡介---(來自http://hi.baidu.com/12261016/blog/item/1d7f6ccaded7248ec91768ec.html)
    <!-- 開啓使用開發模式,詳細錯誤提示 -->
    <!-- <constant name="struts.devMode" value="true"/>-->
    <!-- 指定每次請求到達,重新加載資源文件 -->
    <!-- <constant name="struts.i18n.reload" value="true"/>-->
    <!-- 指定每次配置文件更改後,自動重新加載 -->
    <!-- <constant name="struts.configuration.xml.reload" value="true"/>-->
    <!-- 指定XSLT Result使用樣式表緩存 -->
    <!-- <constant name="struts.xslt.nocache" value="true"/>-->

原文來自:http://blog.csdn.net/kang89/article/details/5928804

 

KEY:關鍵是我試了一下把tomcat安裝目錄的空格去掉,但問題還是沒有得到解決!最近會繼續關注這個問題。。。

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章