我使用mysql-connector-java:8.0.15作为驱动程序的依赖项,所有依赖项都嵌入到pom的输出jar中。它在IDE中效果很好。当我运行jar文件
org.sql2o.Sql2oException:无法从中获取连接数据源-找不到适合jdbc的驱动程序。
在构建jar时,默认情况下,它不包括依赖项。这就是为什么当您运行jar并获得上述异常的原因。
解决方案:
如果您的项目是基于Maven的,请在pom.xml中添加此插件
org.apache.maven.pluginsMaven组装插件2.4.1依赖罐com.mkyong.core.utils.App
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<!-- bind to the packaging phase -->
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
如果您不想为基于Maven的项目或基于非Maven的项目构建像上面那样的胖子,则必须在运行的命令中指定依赖项的类路径。
java -classpath "../lib/*" -jar YourApplication.jar org.app.MainClass