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

java - maven - Force inclusion of JDBC4 in JAR

我收到 java.lang.NoClassDefFoundError: com/mysql/jdbc/exceptions/jdbc4/CommunicationsException 每当我尝试将我的应用程序作为 jar 启动时,它不会在从 IntelliJ 启动我的应用程序时出现。

因此我将这个问题归结为 JAR Only,因为当我从 IntelliJ 中使用它时它有效,但当我从 JAR 中使用它时它不起作用。

在我的pom.xml

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

基本上,除了切换到 JAR 时,我的一切都正常工作。我认为这是由于 JAR 无法访问 JDBC4 造成的,我该如何强制将其包含在 JAR 中?

我也尝试了以下解决方案 NONE 行得通:

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

Oracle 与此无关。您正在使用 MySQL。

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

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