[英]Tomcat7 on Linux Server Not Connecting to MySQL DB
使servlet连接到运行tomcat7的Linux(Ubuntu)服务器上的mysql数据库时出现问题。
我的代码在开发环境(windows7,tomcat7)上运行得很好。 我使用WEB-INT / lib目录中的mysql-connector-java-5.1.34-bin.jar在Eclipse中制作war文件,然后将其部署在tomcat / linux环境中。
war文件可以很好地解压缩,并且静态内容可以毫无问题地提供给浏览器,但是,当启动与数据库交互的任务时,出现错误代码500内部服务器错误,并且localhost.2015-03-24.log给出以下内容错误:
java.lang.NoClassDefFoundError: javax/websocket/Endpoint
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2944)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1208)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1688)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1569)
at websocket.drawboard.DrawboardContextListener.contextDestroyed(DrawboardContextListener.java:32)
at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:5014)
at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5659)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1575)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1564)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.ClassNotFoundException: javax.websocket.Endpoint
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1718)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1569)
... 17 more
我还想知道如何查看未列出的其他17个例外。
提前致谢。
确保设置了所提供的WebSocketServlet
依赖项。
<dependency>
<groupId>javax.websocket</groupId>
<artifactId>javax.websocket-api</artifactId>
<version>1.1</version>
<scope>provided</scope>
</dependency>
感谢Arpit的回答。 但是,添加Maven依赖关系并不能解决问题。 (在我的Windows安装的Tomcat上,它一直都有效,而在我的Linux Tomcat上却没有。)
事实证明,Tomcat的Debian(Ubuntu)版本没有对应的.jar(在Windows和普通Linux Tomcats中都包含)。 因此,我尝试使用范围“ compile”添加依赖项,以将.jar真正添加到我的。 战争。 也没有成功。
最后,解决方法是将Tomcat下载的jar从其网站手动添加到服务器的Tomcat lib文件夹中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.