在IDE中工作,但在Jar中,我收到“没有合适的驱动程序”错误

问题描述 投票:0回答:1

我使用mysql-connector-java:8.0.15作为驱动程序的依赖项,所有依赖项都嵌入到pom的输出jar中。它在IDE中效果很好。当我运行jar文件

org.sql2o.Sql2oException:无法从中获取连接数据源-找不到适合jdbc的驱动程序。

java mysql intellij-idea jdbc mysql-connector
1个回答
0
投票

在构建jar时,默认情况下,它不包括依赖项。这就是为什么当您运行jar并获得上述异常的原因。

解决方案:

  1. 如果您的项目是基于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>
    

  2. 如果您不想为基于Maven的项目或基于非Maven的项目构建像上面那样的胖子,则必须在运行的命令中指定依赖项的类路径。

    java -classpath "../lib/*" -jar YourApplication.jar org.app.MainClass
    
© www.soinside.com 2019 - 2024. All rights reserved.