[我们有一个简单的[spring-hibernate]应用程序(控制台应用程序),其中我们在可执行JAR文件的清单文件中设置了类路径。并且该应用程序使用jTDS JDBC驱动程序连接到数据库。一切都可以在Windows计算机和JDK 1.6上正常运行,但是在Linux上,该应用程序找不到驱动程序,我们正在使用java -jar MainClassName运行该程序。
非常感谢为什么会发生这种情况的任何建议。
发生此问题,因为我们的jdbc.url具有无效的URL。这是因为maven在分析时将jdbc.url属性视为特殊属性,而不是在filter.properties中定义的url。这就是“没有合适的驱动程序”异常的原因。这个问题应该更清楚了。
无论如何要解决,我们必须将jdbc.url属性重命名为jdbc.url.somename。这解决了我们有关Maven分析的问题。对于名为“ server.name”的属性,我们也遇到了类似的Maven分析问题。此过滤器属性也使Maven分析变得混乱。我们也必须更改该属性的名称。
再次感谢费尔南多。
老实说,这听起来像是不良的CLASSPATH。我建议开始调试此问题的一件事是将jtds程序包复制到与主程序包/类相同的路径,并查看其是否有效。这样,您可以确保Classpath清单是问题还是不是问题。 Spring / Hibernate依赖于lib目录,因此它始终位于类路径中,因为它是主要结构。也使用lib目录进行测试。
希望此准则会有所帮助。还发送更多信息,例如路径,类路径和清单文件。