修改 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安裝目錄的空格去掉,但問題還是沒有得到解決!最近會繼續關注這個問題。。。