2008-09-14 22 views
1

我们有一个简单的spring-hibernate应用程序(控制台应用程序),其中我们已经在可执行jar文件的清单文件中设置classpath。该应用程序使用jtds驱动程序连接到数据库,一切都按预期在Windows机器和jdk1.6上运行。但在Linux上,应用程序无法找到驱动程序, 我们正在使用java -jar运行程序MainClassNamejtds没有合适的驱动程序异常当运行一个maven构建项目

任何建议为什么这可能会发生,非常感谢。

+0

你看到什么错误?如果它是NoClassDefError或ClassNotFoundException,那么它可能是一个类路径问题。 – 2008-09-14 17:53:26

回答

0

老实说,它听起来像坏CLASSPATH。我建议开始调试这个问题的一件事就是将jtds包复制到与主包/类相同的路径中,并查看它是否有效。这样你可以确保Classpath清单是或不是问题。 Spring/Hibernate依赖于lib目录,所以它总是在classpath上,因为它是主要的结构。使用lib目录也可以进行测试。

希望这个指导方针将有所帮助。还发送更多信息,如路径,类路径和清单文件。

+0

费尔南多, 类路径是由Maven在清单文件中生成的,它在Windows机器上工作正常。 反正我会在星期一发布清单文件中的类路径条目。 – 2008-09-14 09:47:42

2

发生此问题是因为我们的jdbc.url具有无效的url。这是因为maven将jdbc.url属性视为特殊属性,并在分析时将其替换为filter.properties中定义的url。这就是“没有合适的司机”例外的原因。这个问题应该更清楚。

不管怎么说,我们必须将jdbc.url属性重命名为jdbc.url.somename。这解决了我们的问题与Maven分析。我们对于名为“server.name”的属性也有类似的maven概要分析问题。这个过滤器属性也混淆了maven分析。我们也必须更改该属性的名称。

再次感谢费尔南多。

相关问题