每当我尝试将我的应用程序作为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
答案 0 :(得分:1)
Oracle没有任何关系。你正在使用MySQL。
我认为问题在于您的可执行JAR无法访问依赖项。
研究如何使用Maven插件创建具有依赖关系的可执行JAR。