Spring + Maven: Der passende Platzhalter ist streng, aber für das Element 'jdbc: embedded-database' kann keine Deklaration gefunden werden
Ich versuche gerade, eine kleine Web-App zu erstellen, die Spring, Hibernate und Maven (laufend auf einem Kater) verwendet. Es funktioniert ganz gut, außer dass ich meine eingebettete Datenbank nicht zum Laufen bringen kann. Ich hoffe ihr könnt mir helfen.
Ich stehe immer vor diesem Fehler, wenn ich die Webanwendung auf dem Tomcat bereitstelle:
Der passende Platzhalter ist streng, aber für das Element 'jdbc: embedded-database' kann keine Deklaration gefunden werden
Während meiner Nachforschungen habe ich erfahren, dass diese Meldung auf fehlende Bibliotheken hinweist. Deshalb habe ich meine pom.xml hinzugefügt, wo ich das Artefakt spring-jdbc hinzugefügt habe.
Können Sie mir helfen, den Fehler zu finden? Danke vielmals!
Dies ist meine Spring-Konfigurationsdatei, die den Fehler bei der Initialisierung der Webapp verursacht:
<code><?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jdbc="http://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd"> <bean id="sessionFactory" class= "org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource" ref="embeddedDatasource" /> <property name="packagesToScan" value="org.rest" /> <property name="hibernateProperties"> <value> hibernate.dialect=org.hibernate.dialect.MySQL5Dialect hibernate.hbm2ddl.auto=update hibernate.show_sql=false </value> </property> </bean> <jdbc:embedded-database id="embeddedDatasource" type="HSQL"/> <bean id="txManager" class= "org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <tx:annotation-driven transaction-manager="txManager" /> </beans> </code>
Das ist meine pom.xml:
<code><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.marcus</groupId> <artifactId>maven-webapp-archetype</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>maven-webapp-archetype Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>3.1.1.RELEASE</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>3.0-alpha-1</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>3.1.1.RELEASE</version> </dependency> <dependency> <groupId>javax.servlet.jsp.jstl</groupId> <artifactId>javax.servlet.jsp.jstl-api</artifactId> <version>1.2.1</version> </dependency> <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>3.6.10.Final</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>3.1.1.RELEASE</version> </dependency> </dependencies> <build> <finalName>maven-webapp-archetype</finalName> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat6-maven-plugin</artifactId> <version>2.0-beta-1</version> <configuration> <url>http://localhost:8080/manager/html</url> <server>tomcat7</server> </configuration> </plugin> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.0-beta-1</version> <configuration> <url>http://localhost:8080/manager/html</url> <server>tomcat7</server> </configuration> </plugin> </plugins> </build> </project> </code>