Spring + Maven: el comodín coincidente es estricto, pero no se puede encontrar una declaración para el elemento 'jdbc: embedded-database'
Actualmente estoy tratando de construir una pequeña aplicación web que use Spring, Hibernate y Maven (ejecutándose en un tomcat). Funciona bastante bien, excepto que no puedo hacer que mi base de datos incrustada funcione. Espero que puedas ayudarme.
Siempre me enfrento a este error, cuando estoy implementando la aplicación web en Tomcat:
El comodín coincidente es estricto, pero no se puede encontrar una declaración para el elemento 'jdbc: embedded-database'
Durante mis investigaciones aprendí que este mensaje apunta hacia bibliotecas faltantes. Por lo tanto, agregué mi pom.xml, donde agregué el artefacto spring-jdbc.
¿Puedes ayudarme a encontrar el error? ¡Muchas gracias!
Este es mi archivo de configuración de primavera, que causa el error durante la inicialización de la aplicación web:
<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>
Este es mi 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>