2017-04-15 72 views
0

每当我尝试以jar的形式启动我的应用程序时,我得到一个java.lang.NoClassDefFoundError:com/mysql/jdbc/exceptions/jdbc4/CommunicationsException,它在启动时不会发生我的IntelliJ应用程序。java-maven强制在JAR中包含JDBC4

因此,我将这个问题归结为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

甲骨文无事可做。你正在使用MySQL。

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

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

+1

非常感谢你,你刚刚结束了5个小时的头痛。 对于任何人在将来有这个问题我的答案在这里:http://stackoverflow.com/questions/574594/how-can-i-create-an-executable-jar-with-dependencies-using-maven#574650 – Kishirada

+0

很高兴你找到它。我会发布它,但我在我的手机上回答。 – duffymo