Skift omfanget til compile
:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.17</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
Hvilket - da det er standardomfanget, svarer til overhovedet at forlade omfangsdefinitionen - det samme tæller for typen:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.17</version>
</dependency>
Tag et kig på dette:https://maven.apache .org/guides/introduction/introduction-to-dependency-mechanism.html for detaljerede oplysninger om scoping.
Her er en hurtig info om din baggrund:
Du specificerede JDBC-driveren til at have et omfang runtime
. De fleste IDE'er vil alligevel ignorere omfanget og tilføje alle dine afhængigheder til deres klassesti (f.eks. klassestien, der bruges, når du kører noget uden for eclipse. Efter omfanget runtime
du fortæller maven, at den ikke må pakke den afhængighed ind i din sidste jar, da eksekveringsmiljøet "giver den afhængighed ved runtime
. For eksempel. du skal enten manuelt tilføje den til klassestien, når du kalder din jar eller ændre omfanget til compile
hvilket vil føre til, at driver-krukken bliver pakket inde i din krukke og tilgængelig under kørsel.