歡迎您光臨本站 註冊首頁

關於tomcat 6 java.lang.NoClassDefFoundError

←手機掃碼閱讀     火星人 @ 2014-03-04 , reply:0

關於tomcat 6 java.lang.NoClassDefFoundError

系統配置為 tomcat 6 +jdk 1.5,
出現java.lang.NoClassDefFoundError。
系統manger example均運行正常,只有新加的應用中導入class出現這個問題。
context文件放置在conf/C*/lo*/下面, 內容如下:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/nj-jsl" docBase="/usr/T/e/webapp"
         debug="0" swallowOutput="true" reloadable="true">
  <Valve className="org.apache.catalina.valves.AccessLogValve"
         directory="/usr/T/e/log"  prefix="access_log." suffix=".txt"
         pattern="%t %h %r"/>
  <Logger className="org.apache.catalina.logger.FileLogger"
          directory="/usr/T/e/log"  prefix="etouch_log." suffix=".txt"
          timestamp="true"/>
  <Parameter name="HotelID" value="nj-jsl"
             override="false"/>
  <Parameter name="ConfigDir" value="/usr/T/U"
             override="false"/>
</Context>

web.xml 放置在 /usr/TouchLink/eTouch/webapp下面,內容如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
  <display-name>etouch</display-name>
  <session-config>
    <session-timeout>30</session-timeout>
  </session-config>
  <welcome-file-list>
    <welcome-file>login.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <servlet-name>EtouchInit</servlet-name>
    <servlet-class>com.gljx.etouch.web.EtouchInit</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>ExcelGenerator</servlet-name>
    <servlet-class>com.gljx.etouch.web.ExcelGenerator</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>ExcelGenerator</servlet-name>
    <url-pattern>*.xls</url-pattern>
  </servlet-mapping>
</web-app>

class文件放置在WEB-INF下面。
每次打開login.jsp頁面提示如下錯誤:
root cause

java.lang.ClassNotFoundException: org.apache.jsp.login_jsp
        java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        java.security.AccessController.doPrivileged(Native Method)
        java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:134)
        org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66)
        org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:618)
        org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:144)
        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


An error occurred at line: 1 in the generated java file
The type com.gljx.auth.Authenticator cannot be resolved. It is indirectly referenced from required .class files

An error occurred at line: 6 in the generated java file
Only a type can be imported. com.gljx.auth.Authenticator resolves to a package

An error occurred at line: 7 in the generated java file
Only a type can be imported. com.gljx.auth.User resolves to a package

An error occurred at line: 15 in the jsp file: /login.jsp
Authenticator cannot be resolved to a type


以上問題在tomcat 4中均沒有,一切正常,jdk版本,環境均與tomcat 4下一直。

請教各位了。謝謝!!!

[ 本帖最後由 fangjiafu 於 2009-9-23 14:34 編輯 ]
《解決方案》

An error occurred at line: 15 in the jsp file: /login.jsp
Authenticator cannot be resolved to a type
報錯很清楚啊
《解決方案》

回復 #2 zhoumiao 的帖子

我也知道它報 這個類找不到,可是在tomcat 4 下沒這個問題。
是需要更改什麼配置嗎?
同樣的環境,只是更改了一下tomcat
《解決方案》

你確定在WEB-INF/classes下有這個class文件?怎麼報錯說它是個package?
《解決方案》

回復 #4 zhoumiao 的帖子

我確認有,我只要把tomcat版本改成4的馬上就ok,提怪的要死。

只怪自己以前沒有仔細研究過web這個東西。
《解決方案》

能把login.jsp和你web應用的目錄結構貼出來看看么?或者你嘗試直接訪問其他的jsp頁面,看會不會出錯:em17:

[火星人 ] 關於tomcat 6 java.lang.NoClassDefFoundError已經有302次圍觀

http://coctec.com/docs/service/show-post-20617.html