我正在尝试从Tomcat 6.0读取邮件。每当我将类MailReader的字节代码和源代码放在同一个文件夹中(并放入main方法)时,我就可以编译并运行该类并从命令提示符读取邮件,但是当我将该类放在WEB-文件夹中时INF / class of tomcat(通过删除main方法),我得到了大胖异常的说法:
无法找到主类类:Message Reader。程序将存在
为什么会这样?我已经将jar文件activation.jar和mail.jar放在Tomcat的lib文件夹中,我正在尝试从批处理文件中运行上面的类。
答案 0 :(得分:1)
你有2个版本的同一个jar。你需要在一个地方拥有它。你可以看到this answer for explanation但这通常经常发生在Tomcat上,特别是像xml解析器和JDBC驱动程序这样的东西。因此,检查WEB-INF / lib和Tomcat / lib是否存在冲突
答案 1 :(得分:0)
我不清楚你在做什么。你说你试图从Tomcat读取邮件,但后来说你正试图从批处理文件中运行。我猜测(如果我错了,请纠正我)你在Tomcat webapp / WEB-INF / classes目录中有你的类,你只是在你的批处理文件中指向它。在这种情况下,Tomcat的行为不会进入它,它只是一个目录。
另一个令人困惑的事情是你说“删除主要方法”。如果您尝试使用“java a.b.c.MyClass”在命令行上运行该程序,则MyClass类需要正确定义的main方法才能运行。你为什么要放入和删除主要方法?