sql >> Database >  >> RDS >> Mysql

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

Wijzig het bereik in compile :

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

Wat - aangezien het het standaardbereik is, overeenkomt met het weglaten van de bereikdefinitie - hetzelfde geldt voor het type:

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

Kijk hier eens naar:https://maven.apache .org/guides/introduction/introduction-to-dependency-mechanism.html voor gedetailleerde informatie over scoping.

Hier is een korte informatie voor uw achtergrond:

U hebt opgegeven dat het JDBC-stuurprogramma een bereik heeft runtime . De meeste IDE's negeren sowieso de scopes en voegen al je afhankelijkheden toe aan hun classpath (bijv. het classpath dat wordt gebruikt wanneer u iets buiten eclipse uitvoert. Volgens het bereik runtime je vertelt Maven dat het die afhankelijkheid niet in je laatste pot mag verpakken, omdat de uitvoeringsomgeving "die afhankelijkheid zal bieden tijdens runtime . bijv. je zou het ofwel handmatig aan het klassenpad moeten toevoegen wanneer je je jar aanroept of het bereik wijzigen in compile wat ertoe leidt dat de driver-jar in je pot wordt verpakt en tijdens runtime beschikbaar is.



  1. TO_CHAR van een Oracle PL/SQL TABLE-type

  2. sqlalchemy.exc.NoSuchModuleError:Kan plug-in niet laden:sqlalchemy.dialects:postgres

  3. Kan geen verbinding maken met MySQL-server op '127.0.0.1' (10061) (2003)

  4. MySQL unieke index door meerdere velden