Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Tomcat设置本地开发环境时出现HTTP 500错误_Java_Tomcat_Twilio - Fatal编程技术网

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

Java 使用Tomcat设置本地开发环境时出现HTTP 500错误,java,tomcat,twilio,Java,Tomcat,Twilio,我一直在遵循以下链接:帮助我使用twilio设置本地开发环境,因为这将使我能够发送和回复文本消息。我一直在从链接中尝试选项2,因为选项1似乎更具挑战性。在完成这些步骤之后,我成功地运行并编译了HelloWorld.java文件。到达说明中的最后一步,在地址栏中键入链接时,出现以下错误: HTTP Status 500 - com/twilio/HelloWorld (wrong name: HelloWorld) Description: The server encountered an i

我一直在遵循以下链接:帮助我使用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文件移动到多个不同的文件夹,但仍然无法使其工作。我将感谢任何类型的帮助

您可以对此进行故障排除。从webapps/twilio/WEB-INF/WEB.xml文件开始,找到与url模式匹配的servlet映射,该模式映射到您想要的servlet。您引用的示例映射到servlet“HelloWorld”,它引用了servlet类“com.twilio.HelloWorld”。从这里,您很可能会在项目下的“/src/main/java”文件夹下找到一个“com.twilio”包,其中包含一个“HelloWorld.java”类


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

您可以通过将HelloWorld.java类移动到com.twilio包(如果不存在该包,则创建该包)或更改web.xml中的“servlet类”以指向HelloWorld.java文件的相同完全限定名(包位置+类名)来解决此问题。我已经让它工作了!!除了我所做的是从web.xml中的“servlet类”中删除com.twilio,所以只剩下HelloWorld,这似乎完成了任务。谢谢你的帮助!