Beim Versuch eine Datenquelle (engl. datasource) in /WEB-INF/applicationContext.xml meiner Java Enterprise-Anwendung hinzuzufügen, lieferte mir die Ausgabe meines GlassFish Server 3 in NetBeans 6.9.1 diesen Fehler:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‚dataSource‘ defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are: PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property ‚driverClassName‘ threw exception; nested exception is java.lang.IllegalStateException: Could not load JDBC driver class [com.mysql.jdbc.Driver]
Der Grund dafür war, dass der Treiber „com.mysql.jdbc.Driver“ nicht gefunden werden konnte. Verursacht wurde dies durch diesen Eintrag:
/WEB-INF/applicationContext.xml
1 2 3 4 5 6 7 8 9 10 | ... <!-- ADD PERSISTENCE SUPPORT HERE (jpa, hibernate, etc) --> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" p:driverClassName="com.mysql.jdbc.Driver" p:url="jdbc:mysql://localhost/ksw" p:username="root" p:password="password" /> ... |
Die Eigenschaft „driverClassName“ definiert den MySQL-Treiber, welcher aber nicht in der Applikation bekannt ist. Der entsprechende JDBC – MySQL Connector (aktuell: mysql-connector-java-5.1.13) muss also heruntergeladen werden und dem NetBeans-Projekt in der Gruppe „Libraries“ über „Add JAR/Folder…“ bekannt gemacht werden.