- 註冊時間
- 2006-3-13
- 最後登錄
- 2025-1-10
- 在線時間
- 673 小時
- 閱讀權限
- 200
- 積分
- 417
- 帖子
- 1107
- 精華
- 0
- UID
- 2
  
|
安裝完 Openbravo 後,重新啟動 Tomcat 會有以下錯誤訊息:
- 2007/5/29 下午 03:25:04 org.apache.catalina.loader.WebappClassLoader validateJarFile
- 資訊: validateJarFile(C:\apache-tomcat-5.5.23\webapps\openbravo\WEB-INF\lib\servlet-api.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
- log4j:ERROR setFile(null,true) call failed.
- java.io.FileNotFoundException: \tomcat\logs\log4j_TAD.log (系統找不到指定的路徑。)
- at java.io.FileOutputStream.openAppend(Native Method)
- at java.io.FileOutputStream.<init>(FileOutputStream.java:177)
- at java.io.FileOutputStream.<init>(FileOutputStream.java:102)
- at org.apache.log4j.FileAppender.setFile(FileAppender.java:272)
- at org.apache.log4j.RollingFileAppender.setFile(RollingFileAppender.java:156)
- at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:151)
- at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:247)
- at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:123)
- at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:87)
- at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:645)
- at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:603)
- at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:500)
- at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:406)
- at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:307)
- at org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:315)
- at org.openbravo.base.HttpBaseServlet.init(Unknown Source)
- at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1139)
- at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966)
- at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3956)
- at org.apache.catalina.core.StandardContext.start(StandardContext.java:4230)
- at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
- at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
- at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
- at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:825)
- at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:714)
- at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
- at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
- at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
- at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
- at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
- at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
- at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
- at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
- at org.apache.catalina.core.StandardService.start(StandardService.java:448)
- at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
- at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
- at java.lang.reflect.Method.invoke(Method.java:585)
- at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
- at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
複製代碼
這是因為 log4j 的設定沒有處理好所以對映不到 Tomcat 的安裝路徑的,所以需要手工調整一下。
從錯誤訊息中可以看到我的 Tomcat 安裝路徑是 C:\apache-tomcat-5.5.23\
而 log4j 需要使用到的路徑卻是 \tomcat\logs\log4j_TAD.log
當然就會出問題了
解決方式有兩種:
1. 可以改變 Tomcat 的路徑名稱 C:\apache-tomcat-5.5.23\ 變成 C:\tomcat\ 不過可能會影響到其他的服務。
2. 調整 log4j 的設定,以我安裝的目錄來說,編輯 C:\apache-tomcat-5.5.23\webapps\openbravo\WEB-INF\log4j.lcf 其中有一段設定為
- log4j.appender.R=org.apache.log4j.RollingFileAppender
- log4j.appender.R.File=/tomcat/logs/log4j_TAD.log
- log4j.appender.R.MaxFileSize=10000KB
複製代碼
請修改成
- log4j.appender.R=org.apache.log4j.RollingFileAppender
- #log4j.appender.R.File=/tomcat/logs/log4j_TAD.log
- log4j.appender.R.File=/apache-tomcat-5.5.23/logs/log4j_TAD.log
- log4j.appender.R.MaxFileSize=10000KB
複製代碼
這樣就解決了。 |
|