我使用Eclipse 4.2在Win 7上运行,在Tomcat 7服务器上启动Web应用程序并使用Derby数据库。我尝试了很多方法,但始终坚持一个共同的问题:
完成一些调查之后,问题似乎是Derby端口(1527)没有从服务器的一次执行释放到下一次。这对我来说似乎很奇怪,因为Derby是由Tomcat实例启动的,这是一个单独的javaw进程。
我试过了:
同样,每种方法都可以在第一次连接时正常工作。
另一个似乎没有关联的症状(除了作为关闭是否正确完成的可能指示之外)是我的数据库的db.lck文件永远不会被删除。但是,它是否存在与我是否可以重新连接无关(只有停止/启动日食会产生影响)。
任何见解都将受到赞赏。 谢谢!
答案 0 :(得分:1)
经过进一步调查后,我打算将其称为Cannot create JDBC driver of class ' ' for connect URL 'null' : I do not understand this exception的复制品。这不是一回事,但是这个解决方案(创建META-INF / context.xml)允许它继续进行失败的调用而不是挂起,这是一个重大改进,并表明它在很大程度上是相关的。
答案 1 :(得分:0)
我终于搞清楚了。事实证明我在Eclipse中的应用程序的部署程序集中的Tomcat lib文件夹(对于Tomcat)和中有derby jar(而不仅仅是在构建路径中)。所以Tomcat使用内置的libs,而我的应用程序使用的是嵌入式库,这导致了冲突。将libs作为Tomcat的一部分并从war文件中删除它们完全解决了这个问题。