我们有一个简单的spring-hibernate应用程序(控制台应用程序),我们在可执行jar文件的清单文件中设置了类路径。应用程序使用jtds驱动程序连接到数据库,Everything在Windows机器和jdk1.6上按预期工作。但在Linux上,该应用程序无法找到驱动程序, 我们使用java -jar MainClassName
运行程序非常感谢任何可能发生这种情况的建议。
答案 0 :(得分:2)
发生此问题是因为我们的jdbc.url包含无效的网址。这是因为maven将jdbc.url属性视为特殊属性并在分析时将其视为filter.properties中定义的url。这就是“No Suitable Driver”例外的原因。问题应该更清楚了。
无论如何要修复我们必须将jdbc.url属性重命名为jdbc.url.somename。这解决了maven profiling的问题。对于名为“server.name”的属性,我们也有类似的maven概要分析问题。此过滤器属性也使maven概要分析混乱。我们也必须更改该属性的名称。
再次感谢费尔南多。
答案 1 :(得分:0)
老实说,这听起来像是糟糕的CLASSPATH。我建议开始调试此问题的一件事是将jtds包复制到与主包/类相同的路径,看它是否有效。这样,您可以确保Classpath清单是或不是问题。 Spring / Hibernate依赖于lib目录,所以它总是在classpath上,因为它是主要的结构。也可以使用lib目录进行测试。
希望此指南有所帮助。还可以发送更多信息,例如路径,类路径和清单文件。
答案 2 :(得分:0)
这是一个Maven错误 http://jira.codehaus.org/browse/MNG-3563