Altere o escopo para
compile
:<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.17</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
Que - como é o escopo padrão, corresponde a deixar de lado a definição de escopo - as mesmas contagens para o tipo:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.17</version>
</dependency>
Dê uma olhada nisso:https://maven.apache .org/guides/introduction/introduction-to-dependency-mechanism.html para obter informações detalhadas sobre o escopo.
Aqui está uma informação rápida para o seu plano de fundo:
Você especificou o driver JDBC para ter um escopo
runtime
. A maioria dos IDEs ignorará os escopos e adicionará todas as suas dependências aos deles classpath (por exemplo, o classpath usado quando você executa algo fora do Eclipse. Pelo escopo runtime
você está dizendo ao maven que ele não deve empacotar essa dependência em seu jar final, pois o ambiente de execução "fornecerá essa dependência em runtime
. Por exemplo. você teria que adicioná-lo manualmente ao classpath ao chamar seu jar ou alterar o escopo para compile
o que levará o driver-jar a ser empacotado dentro do seu jar e disponível em tempo de execução.