我正在做与MySQL数据库交互的简单Java应用程序。它应该在Ubuntu服务器上运行。我正在Intellij IDEA中开发它,并且在这里很好用。
但是,当我生成jar文件并在Ubuntu命令行(服务器和运行ubuntu的家用PC)中启动它时,没有任何效果。
我只需键入Java -jar %my_jar_filename%
并得到错误
“无法加载主类... Class.forName(“ com.mysql.jdbc.Driver”)“
我知道,由于Java 5(我不确定在此使用哪个版本,我使用8),因此不必编写它,但是如果我不编写它,我会得到
“找不到合适的驱动程序”
我搜索了这个问题,发现的唯一解决方案是确保驱动程序确实存在于PC上并添加Class.forName("");
这对我没有帮助。驱动程序存在,因为在IDE程序中有效。我认为麻烦在于java选项。
我试图通过java -cp
,
但是它给了我同样的错误,甚至试图通过javac从源代码在终端中编译程序,但是还是同样的问题。
在我的PC上,mysql连接器位于文件夹usr/share/java/
应用程序最终应运行的服务器具有相同的设置 我在做什么错了?
**已解决:**谢谢大家,解决方案非常简单。这个答案帮助https://stackoverflow.com/a/45303637/9184305
答案 0 :(得分:0)
这看起来像类路径问题,它可能没有h jar文件。我建议使用maven并创建maven项目并生成jar文件。 Maven将处理依赖关系和打包。
答案 1 :(得分:0)
这可能是因为您使用了错误的驱动程序-我们改用此类:
com.mysql.cj.jdbc.Driver
在阅读您的描述时,您可能还会遇到这样的问题:您的代码可以在IDE中运行,但是当您尝试从jar /命令行运行它时却不能。
在这种情况下