繁体   English   中英

Linux服务器上的Tomcat7未连接到MySQL数据库

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM