Java 如何使用在Windows上编写并部署到Ubuntu的JDBC?

Java 如何使用在Windows上编写并部署到Ubuntu的JDBC?,java,mysql,ubuntu,intellij-idea,jdbc,Java,Mysql,Ubuntu,Intellij Idea,Jdbc,可以在windows笔记本电脑上使用jdbc开发java应用程序,然后将jar部署到ubuntu虚拟机上吗 我有一个连接到虚拟机上数据库的小应用程序(使用IP地址)。如果我在IDE中运行IntelliJ,它在Windows上运行良好。如果我将项目移动到Ubuntu上的Intellij并在IDE中运行,它也可以正常工作。但是我想在Ubuntu平台上部署一个JAR文件。当我这样做时,我得到“没有找到适合jdbc的驱动程序…” 我试过: 使用“sudo apt get install libmysq

可以在windows笔记本电脑上使用jdbc开发java应用程序,然后将jar部署到ubuntu虚拟机上吗

我有一个连接到虚拟机上数据库的小应用程序(使用IP地址)。如果我在IDE中运行IntelliJ,它在Windows上运行良好。如果我将项目移动到Ubuntu上的Intellij并在IDE中运行,它也可以正常工作。但是我想在Ubuntu平台上部署一个JAR文件。当我这样做时,我得到“没有找到适合jdbc的驱动程序…”

我试过:

  • 使用“sudo apt get install libmysql java”在ubuntu上安装jdbc
  • 添加与平台无关的当前jdbc驱动程序作为库
  • 在构建时将此库包含在jar工件中
  • 将ubuntu jdbc添加到类路径(导出类路径=$CLASSPATH:/usr/share/java/mysql.jar)

我不是唯一一个想在Windows上开发并部署到Ubuntu的人?

您只需要将驱动程序添加到运行时类路径,即使用
-cp
开关。jar中没有库,没有将东西放入
类路径
。也不是Ubuntu特有的,如果您是从命令行运行的,在Windows(或Mac)上也是一样的。它必须以完全相同的行为工作,可能您部署的jar缺少一些jar依赖项,请使用java-cp,或者在普通java应用程序中查看Gradle或maven,依赖项与应用程序一起部署,或者使用启动脚本中的
-cp
引用,或者使用jar文件清单中的
类路径
条目引用。您通常不会在系统类路径上使用操作系统安装的库或其他东西。打包JAR有很多不同的方法。(大多数Java开发人员都在使用为我们解决这一问题的框架,无论是雅加达、Spring、Quarkus等。)当我确实需要制作一个小小的命令行Java程序时,我经常在谷歌上搜索如何实现。最近我用了这个:。只需确保您的jdbc驱动程序在pom文件中作为依赖项列出。例如,这是我的pom文件