sql >> Database teknologi >  >> RDS >> Mysql

Maven - java.lang.ClassNotFoundException:com.mysql.jdbc.Driver

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.



  1. Tjek om et objekt er en lagret procedure ved at bruge OBJECTPROPERTY() i SQL Server

  2. Kan jeg ændre ft_min_word_len på delt hosting?

  3. Skift type varchar-felt til heltal:kan ikke castes automatisk til typen heltal

  4. Hvorfor SQLSTATE[HY000]:Generel fejl?