Променете обхвата на compile
:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.17</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
Което - тъй като това е обхватът по подразбиране, съответства на изоставяне на дефиницията на обхват изобщо - същото се брои за типа:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.17</version>
</dependency>
Разгледайте това:https://maven.apache .org/guides/introduction/introduction-to-dependency-mechanism.html за подробна информация относно обхвата.
Ето кратка информация за вашия фон:
Зададохте JDBC драйвера да има обхват runtime
. Повечето IDE така или иначе ще игнорират обхватите и ще добавят всичките ви зависимости към своите classpath (напр. classpath, използван, когато стартирате нещо извън eclipse. По обхвата runtime
казвате на maven, че не трябва да пакетира тази зависимост във вашия окончателен jar, тъй като средата за изпълнение ще "предостави тази зависимост при runtime
. напр. ще трябва или да го добавите ръчно към пътя към класа, когато извикате своя jar, или да промените обхвата на compile
което ще доведе до това, че бурканът с драйвери ще бъде опакован във вашия буркан и достъпен по време на изпълнение.