0

我正在启动一个连接到 PostgreSQL 的 restlet 网络服务。它在 Netbeans 上运行良好。我已将所有外部 jar 的 jar 文件和 lib 目录移动到随机位置并从命令行启动它:它工作正常。

问题是当我将这些文件移动到其他机器并从那里启动 jar 时。我收到java.lang.NoClassDefFoundError: org.postgresql.DriverClass.forName()

我查看了清单: Class-Path: ... lib/postgresql.jdbc.jar ... 似乎没问题。应该是,因为我已经用/lib中的 jdbc 文件测试了它,但没有它(ClassNotFound 意味着他正在 lib 目录中搜索)

所以现在:为什么当一切都到位并且他有正确的清单和所有罐子时,他无法在其他机器(Debian)上找到类定义?

==================================================== =================================

刚刚在启动我的世界服务器并阅读为什么我有错误时找到了解决方案。

问题是Java。在 Debian 上有 2 个版本的 Java:1.5 和 1.7。默认情况下,由 1.5 执行的所有命令以及当我从 1.7 启动我的 jar 时,一切正常。

4

0 回答 0