使用Tomcat设置本地开发环境时出现HTTP 500错误

时间:2015-12-30 23:17:05

标签: java tomcat twilio

我一直在关注此链接: https://www.twilio.com/docs/quickstart/java/devenvironment 以帮助我使用twilio设置本地开发环境,因为这样可以让我发送和回复短信。我一直在尝试从链接中选择2,因为选项1似乎更具挑战性。按照这些步骤后,我成功地运行并编译了HelloWorld.java文件。我到达说明的最后一步,当我在地址栏中输入链接时,我收到此错误:

HTTP Status 500 - com/twilio/HelloWorld (wrong name: HelloWorld)

Description: The server encountered an internal error that prevented it from fulfilling this request.

Exception:
java.lang.NoClassDefFoundError: com/twilio/HelloWorld (wrong name: HelloWorld)
    java.lang.ClassLoader.defineClass1(Native Method)
    java.lang.ClassLoader.defineClass(ClassLoader.java:760)
    java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
 org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2496)
 org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:862)
 org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1304)
 org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1169)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:361)
    org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:1080)
    org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:75)
    org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:757)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1515)
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.lang.Thread.run(Thread.java:745)}

我已经尝试过查看其他多个相关问题并尝试了他们的解决方案但没有用。我使用的所有代码都来自前面提到的链接。我尝试将HelloWorld.class文件移动到多个不同的文件夹但仍然无法使其工作。我很感激任何类型的帮助!

1 个答案:

答案 0 :(得分:0)

您可以对此进行问题排查。从webapps / twilio / WEB-INF / web.xml文件开始,找到与url-pattern匹配的servlet-mapping,映射到你想要的servlet。您引用的示例映射到servlet" HelloWorld",它引用了" com.twilio.HelloWorld"的servlet类。由此,很可能在" / src / main / java"你的项目下的文件夹,你应该找到一个" com.twilio"打包" HelloWorld.java"上课。

如果HelloWorld.java类位于com.twilio包之外的任何地方,则servlet类将指向错误的位置。