【发布时间】:2018-09-19 04:35:05
【问题描述】:
我正在做与 mySQL 数据库交互的简单 java 应用程序。它应该在 Ubuntu 服务器上运行。我正在 Intellij IDEA 中开发它,它在那里工作得很好。
但是,当我生成 jar 文件并在 Ubuntu 命令行中启动它(服务器和我的家用电脑都运行 ubuntu)时,没有任何效果。
我只需输入 java -jar %my_jar_filename% 并得到错误
"无法加载主类... Class.forName("com.mysql.jdbc.Driver")"
我知道自从java 5(我不确定这里是哪个版本,我使用8)以来,没有必要写它,但如果我不写它,我会得到
“找不到合适的驱动程序”
我搜索了这个问题,我找到的唯一解决方案是确保驱动程序确实存在于 PC 上并添加 Class.forName("");
这对我没有帮助。驱动程序存在,因为在 IDE 程序中起作用。我认为问题在于 java 选项。
我尝试通过java -cp添加mysql连接器,
但它给了我同样的错误,甚至试图通过 javac 从源代码在终端中编译程序,但也是同样的问题。
在我的 PC 上,mysql 连接器位于文件夹 usr/share/java/
应用程序最终应该运行的服务器具有相同的设置 我做错了什么?
**已解决:**谢谢大家 解决方案非常简单。这个答案帮助了https://stackoverflow.com/a/45303637/9184305
【问题讨论】:
-
您创建的可运行包中可能缺少驱动程序 jar。通过查看罐子内部来检查。
-
@user1506104 不,因为在 IDE 标准连接数据库的方式中工作得很好,我想解决依赖而不是连接的问题