sql >> Databasteknik >  >> RDS >> Mysql

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

Ändra omfattningen till compile :

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.17</version>
    <type>jar</type>
    <scope>compile</scope>
</dependency>

Vilket - eftersom det är standardomfattningen motsvarar att överhuvudtaget lämna bort omfångsdefinitionen - samma räknas för typen:

<dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
   <version>5.1.17</version>
</dependency>

Ta en titt på detta:https://maven.apache .org/guides/introduction/introduction-to-dependency-mechanism.html för detaljerad information om omfattning.

Här är en snabb information om din bakgrund:

Du angav att JDBC-drivrutinen skulle ha en scope runtime . De flesta IDE:er kommer ändå att ignorera omfattningarna och lägga till alla dina beroenden till sina klasssökväg (t.ex. klasssökvägen som används när du kör något utanför eclipse. Enligt omfånget runtime du säger till maven att den inte får packa den beroenden i din sista jar eftersom exekveringsmiljön kommer att "tillhandahålla det beroendet vid runtime . T.ex. du måste antingen lägga till den manuellt i klasssökvägen när du anropar din jar eller ändra omfattningen till compile vilket kommer att leda till att förarburken packas inuti din burk och är tillgänglig vid körning.



  1. viloläge inbyggt SQL-frågefel

  2. SQL JOINs handledning med exempel

  3. SQL Server - inre koppling vid uppdatering

  4. PostgreSQL:standardnamn för begränsningar