JavaMail类文件放到Linux服务器上报错呀,这是为什么? 我在本地机器上调试都可以的,但放到Linux的服务器上就总是提示错误:
500 Servlet Exception
/register_ex.jsp:4: Can't find class `com_sw.RegSendMail'
--------------------------------------------------------------------------------
Resin-3.0.18 (built Fri, 24 Feb 2006 02:47:03 PST)要用的mail.jar和activation.jar包也都放到WEB-INF\lib目录下了,RegSendMail类文件也放在了com_sw包下,类文件里面也有写package com_sw;我现在是不知道原因出在哪里,另外用的javamail和jaf框架版本分别是JavaMail1.4和JAF1.1。在线等答案。

解决方案 »

  1.   

    一般自己写的包在发布的时候都是放在WEB-INF/classes下面,系统包是放在WEB-INF/lib下面
    你试一下看看。。
      

  2.   

    没有找到类,看看你的classes里面有没有编译后的RegSendMail类
      

  3.   

    和上面两位说的一样,我要用的mail.jar和activation.jar系统包已经放在WEB-INF/lib下了,而要用的RegSendMail类也是放在classes下面的com_sw包了。我把这些放好服务器都重启了,这样web服务器也应该被重启了吧,这样做了还是没用。
    哎,以前服务器上发布网页都是我同事做的,我也不太了解,这次是弄得我一头雾水。
      

  4.   

    晕,我没有写任何东西的空类,导入了以下包:
    import javax.mail.internet.*;
    import javax.activation.*;
    import javax.mail.*;
    这样既然也是报那个错,看来是没认到系统包,是不是要设置环境变量呀?要设置的话,在Linux下的环境变量怎么设置?
      

  5.   

    export JAVA_HOME=/jlmc/jdk1.5.0_06
    export CLASSPATH=$CLASSPATH:$JAVA_HOME/libCLASSPATH=.:/jlmc/jdk1.5.0_06/lib/tools.jar:/jlmc/jdk1.5.0_06/lib/dt.jar:./lib/classes12.jar
    export CLASSPATH
     
    $JAVA_HOME/bin/java app
      

  6.   

    查了一下服务器上的CLASSPATH是/usr/local/java/lib:/usr/local/java/jre/lib:/usr/local/java/jre/lib/ext:.其中我要用的包mail.jar和activation.jar放在/usr/local/java/jre/lib/ext下,还是不行,我有点奇怪为什么Linux下的CLASSPATH可以设置成这样,以前我们就用这个,网站也可以运行。现在我测试的网页却总是认不到我要用的包。
      

  7.   

    晕,原来是低级错误,我编译类文件用的JDK版本和服务器上的不同.问题搞定了,结贴.