【问题标题】: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
    相关资源
    最近更新 更多