cxy531277915 2013-09-21 12:39 采纳率: 0%
浏览 859

javaweb 报classnotfoundexception

public void SetDic(String dicFile) {
ObjectInputStream objectIn=null;
try {
objectIn = new ObjectInputStream(new FileInputStream(new File(
dicFile)));
} catch (IOException e) {
e.printStackTrace(System.err);
System.exit(1);
}

    try {
        dics =  objectIn.readObject();
        System.out.println("this try run");
        dic=(Dictionary)dics;
    } catch (ClassNotFoundException e) {
        e.printStackTrace(System.err);
        System.exit(1);
    } catch (IOException e) {
        e.printStackTrace(System.err);
        System.exit(1);
    }
}

其中,dics = objectIn.readObject();这一行报错。
private Object dics;
private Dictionary dic;这是申明。
Dictionary和这个java文件在同一个包中。是java项目时可以运行,做成javaweb项目就遇到这个错。
具体错误:
java.lang.ClassNotFoundException: WordSegment.Dictionary
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:604)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)

at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at cn.edu.seu.vincent.wordSeg.WordSegment.SetDic(WordSegment.java:39)
at cn.edu.seu.vincent.servlet.SegServlet.doPost(SegServlet.java:82)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)

at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
  • 写回答

1条回答

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-02-16 12:42
    关注

    该回答引用ChatGPT

    这个错误通常是由于无法加载类而导致的。在你的代码中,字典类WordSegment.Dictionary无法加载。


    可能的原因是:

    • 字典类WordSegment.Dictionary的文件没有正确放置在Java Web项目的类路径下。
    • 如果你是在Eclipse或其他IDE中编写和运行Java Web项目,那么可能需要将字典类的构建路径添加到项目的构建路径中。
    • 另一个可能的原因是字典类WordSegment.Dictionary依赖于其他类或库,但这些类或库没有正确放置在Java Web项目的类路径下。

    要解决此错误,可以尝试以下操作:

    • 检查字典类WordSegment.Dictionary是否在Java Web项目的类路径中,并且已经正确编译。
    • 在你的IDE中检查项目构建路径,确保字典类WordSegment.Dictionary的构建路径已经添加到项目中。
    • 如果字典类WordSegment.Dictionary依赖于其他类或库,确保这些类或库已经正确放置在Java Web项目的类路径中。

    如果上述方法都没有解决问题,可以尝试重新编译Java Web项目,并检查类路径设置是否正确。

    评论

报告相同问题?

悬赏问题

  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 spring后端vue前端
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题