【问题标题】:java - maven - Force inclusion of JDBC4 in JARjava - maven - 强制在 JAR 中包含 JDBC4
【发布时间】:2017-04-15 21:32:43
【问题描述】:

每当我尝试将我的应用程序作为 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

【问题讨论】:

    标签: java maven jdbc jar noclassdeffounderror


    【解决方案1】:

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

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

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

    【讨论】:

    • 非常感谢,您刚刚结束了 5 个小时的头痛。对于将来遇到此问题的任何人,我的答案都在这里:stackoverflow.com/questions/574594/…
    • 很高兴你找到了它。我会发布它,但我用手机接听了。
    猜你喜欢
    • 1970-01-01
    • 2011-02-09
    • 2012-09-28
    • 2023-03-29
    • 2023-02-12
    • 1970-01-01
    • 2010-12-04
    • 2012-12-22
    • 1970-01-01
    相关资源
    最近更新 更多