java - maven - 强制在JAR中包含JDBC4

时间:2017-04-15 13:27:42

标签: java maven jdbc jar noclassdeffounderror

每当我尝试将我的应用程序作为jar启动时,我得到一个java.lang.NoClassDefFoundError:com / mysql / jdbc / exceptions / jdbc4 / CommunicationsException,从IntelliJ启动我的应用程序时不会发生这种情况。

因此,我将此问题归结为JAR,因为当我从IntelliJ使用它时它会起作用,但是当我从JAR使用它时却不行。

在我的pom.xml

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.40</version>
</dependency>

除非我切换到JAR,否则基本上我都能正常工作。我认为这是由JAR无法访问JDBC4引起的,如何强制将其包含在JAR中?

我已尝试过以下解决方案以及没有工作

Error trying to import oracle jdbc7 driver with Maven

Find Oracle JDBC driver in Maven repository

Maven ojdbc configuration error

Maven - java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

"com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure" to remote database

1 个答案:

答案 0 :(得分:1)

Oracle没有任何关系。你正在使用MySQL。

我认为问题在于您的可执行JAR无法访问依赖项。

研究如何使用Maven插件创建具有依赖关系的可执行JAR。