关于在tomcat编译成字节码文件的问题,就是在编译成.class文件的时候必须是在WEB-INF下面的classes目录下才能编译吗?但是自己新建的项目的时候classpath中明确写了
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="lib/sqljdbc.jar"/>
<classpathentry kind="lib" path="lib/servlet.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
.class是在bin文件下生成的这样就老是报
exception javax.servlet.ServletException: Error instantiating servlet class com.wy.webiter.PhotoSerlvet
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:866)
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:716)
org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1498)
java.lang.Thread.run(Unknown Source)
root cause java.lang.NoClassDefFoundError:com.bumission.servlet.CeshiServlet.
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
java.lang.Class.getConstructor0(Unknown Source)
java.lang.Class.newInstance0(Unknown Source)
java.lang.Class.newInstance(Unknown Source)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:866)
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:716)
org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1498)
java.lang.Thread.run(Unknown Source)
这种错误。就是不是很明白tomcat下到底怎么找.class文件的是里面固定写死了还是怎么的。

解决方案 »

  1.   

    你这个是未生成class文件,
    jdk安好了吗?
      

  2.   

    问题解决了
    <?xml version="1.0" encoding="UTF-8"?>
    <classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="lib" path="WEB-INF/lib/sqljdbc.jar"/>
    <classpathentry kind="lib" path="WEB-INF/lib/servlet.jar"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.6.0_16"/>
    <classpathentry kind="output" path="WEB-INF/classes"/>
    </classpath>
    我把原先生成的配置改了,必须放到web-inf文件下面!貌似是tomcat里面规定死的。