這兩天同事的項(xiàng)目工程突然出現(xiàn)了故障,web包發(fā)布后,不斷地拋異常,由于剛好我在修改登陸的頁(yè)面,所以他們不約而同地認(rèn)為是我搞得鬼,天可憐見(jiàn),我可是一安分守己之公民啊,沒(méi)辦法,只好削尖了頭往問(wèn)題里鉆,但是愣沒(méi)看出個(gè)所以然,,好暈阿。于是拿到其他同事的機(jī)器上面部署,一切OK,更暈
!!!!!!
第一次打開(kāi)index.jsp時(shí),異常如下:
Error 500--Internal Server Error
java.lang.ExceptionInInitializerError
?at jsp_servlet.__login._jspService(__login.java:209)
?at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
?at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
?at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
?at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:446)
?at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
?at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6354)
?at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
?at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
?at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635)
?at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
?at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
?at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
Caused by: java.util.MissingResourceException: Can't find bundle for base name org.apache.struts.taglib.html.LocalStrings, locale zh_CN
?at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:804)
?at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:773)
?at java.util.ResourceBundle.getBundle(ResourceBundle.java:511)
?at org.apache.struts.util.MessageResources.(MessageResources.java:102)
?at org.apache.struts.util.MessageResources.getMessageResources(MessageResources.java:579)
?at org.apache.struts.taglib.html.FormTag.(FormTag.java:140)
?... 13 more
然后刷新了一下頁(yè)面,馬上就變了:
java.lang.NoClassDefFoundError
?at jsp_servlet.__login._jspService(__login.java:209)
?at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
?at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
?at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
?at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
?at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6354)
?at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
?at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
?at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635)
?at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
?at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
?at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
這個(gè)錯(cuò)誤實(shí)屬可恨,給我造成了很大的誤解,初一看,哦,很明顯嘛,是Struts標(biāo)簽的問(wèn)題,沒(méi)難度的,打開(kāi)頁(yè)面開(kāi)始查找,一看,原來(lái)是說(shuō)formbean找不到了,不可能阿,這怎么會(huì)找不到呢?,這個(gè)用了幾年了,不可能出問(wèn)題阿!
又調(diào)了幾次,實(shí)在受不了了,干脆把struts標(biāo)簽搞掉算了,這下問(wèn)題又變了,說(shuō)是資源文件找不到了,很可惜,這個(gè)異常沒(méi)有記錄下來(lái)。。。。。。。重裝了服務(wù)器,仍然不行,痛苦啊!
后來(lái)?yè)Q了個(gè)用戶登錄了一下,驚奇的發(fā)現(xiàn)竟然可以正常運(yùn)行,,恩,還不算太壞,于是才發(fā)現(xiàn)原來(lái)是環(huán)境變量出了問(wèn)題,classpath配置到了另一個(gè)項(xiàng)目中,
。去掉了這個(gè)環(huán)境變量后,一切OK!
做項(xiàng)目時(shí),真的要細(xì)心細(xì)心再細(xì)心阿,環(huán)境變量這個(gè)東西,太容易在項(xiàng)目開(kāi)發(fā)過(guò)程中忽視了,但有時(shí)問(wèn)題就偏偏出在這上面,這樣當(dāng)問(wèn)題出現(xiàn)時(shí),就很難真正的發(fā)現(xiàn)錯(cuò)誤的源泉,解決起來(lái)只能靠時(shí)間和經(jīng)驗(yàn)了,同時(shí),希望大家在做項(xiàng)目時(shí)盡量不要交叉進(jìn)行,否則,出現(xiàn)莫名其妙的問(wèn)題的幾率太大了!
特寫(xiě)于此,以對(duì)自己以示警戒!
Feedback
@thinkbase
是啊,最好不要配置系統(tǒng)級(jí)的CLASSPATH,但是我們自己不配置,卻不能阻止他人配置,我這里就是很好的例子。最好能形成一種規(guī)范來(lái)進(jìn)行約束,這樣在項(xiàng)目開(kāi)發(fā)過(guò)程中才會(huì)盡可能少的出那些莫名其妙的問(wèn)題,所以在這一方面,系統(tǒng)級(jí)的CLASSPATH只是一個(gè)方面而已! 回復(fù) 更多評(píng)論
是啊,最好不要配置系統(tǒng)級(jí)的CLASSPATH,但是我們自己不配置,卻不能阻止他人配置,我這里就是很好的例子。最好能形成一種規(guī)范來(lái)進(jìn)行約束,這樣在項(xiàng)目開(kāi)發(fā)過(guò)程中才會(huì)盡可能少的出那些莫名其妙的問(wèn)題,所以在這一方面,系統(tǒng)級(jí)的CLASSPATH只是一個(gè)方面而已! 回復(fù) 更多評(píng)論
只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。 | ||
![]() |
||
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問(wèn)
管理
|
||
相關(guān)文章:
|
||