xmlelement - ns2 xml java
Spring 3.0-No se puede ubicar Spring NamespaceHandler for XML schema namespace (15)
¿Alguna idea de lo que podría ser la causa de esto?
No se puede ubicar Spring NamespaceHandler para el espacio de nombres del esquema XML [ http://www.springframework.org/schema/security]
org.springframework.web.context.ContextLoader initWebApplicationContext: Context initialization failed
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/security]
Offending resource: ServletContext resource [/WEB-INF/applicationContext.xml]
Este es mi applicationContext.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.0.xsd">
...
</beans:beans>
En mi pom.xml tengo:
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
<version>3.0.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-openid</artifactId>
<version>3.0.1.RELEASE</version>
</dependency>
@James Jithin: dicha excepción también puede aparecer cuando tiene dos versiones diferentes de beans y esquema de seguridad en xsi: schemaLocation. Es el caso en el fragmento que ha pegado:
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.1.xsd"
En mi caso, al cambiarlos a 3.1 resolví el problema
Agregue la siguiente dependencia en su archivo pom.xml y, si está utilizando IntelliJ, agregue los mismos archivos jar a la carpeta WEB-INF-> lib ... la ruta es Estructura del proyecto -> Atributos -> Seleccione el panel jar desde Elementos disponibles y doble hacer clic. Se agregará a la carpeta respectiva
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>3.0.1.RELEASE</version>
</dependency>
Encontré esta solución:
Incluye este tarro en tu proyecto
Existe una buena lista de las dependencias de Maven en: Spring Site. Los principales artefactos necesarios son:
- spring-security-core
- Spring-security-web
- spring-security-config
La solución es definitivamente "spring-security-config" no en su WEB-INF / lib.
Para mi proyecto en Eclipse usando Maven, resultó que no todas las dependencias de maven se copiaban a WEB-INF / lib. Si mira Proyecto -> Propiedades -> Ensamblaje de despliegue, solo se copiaron algunos de los archivos jar.
Para arreglar esto, hice clic en "Agregar", luego "Java Build Path Entires" y finalmente "Maven Dependencies".
He estado buscando SO y la web durante la última hora buscando esto, así que espero que esto ayude a otra persona.
Lo que hice:
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>3.2.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>3.2.5.RELEASE</version>
</dependency>
y
xsi:schemaLocation="
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.2.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd">
funciona perfectamente. Más Baeldung
Luché con esto por un tiempo y ninguna de estas respuestas me ayudó. Gracias al comentario de user64141 me di cuenta de que había un problema con los archivos spring.handlers
.
Estoy usando el plugin Shade para Maven para generar un frasco gordo, y todos los spring.handlers
(y spring.schemas
) fueron sobrescritos por cada dependencia de Spring.
El sitio de Maven cubre este problema exacto y cómo resolverlo al agregar los archivos en su lugar:
Me he encontrado con un problema muy similar hoy. Por alguna razón, IntelliJ IDEA
no ha incluido los archivos jar de Spring Security al implementar la aplicación. Creo que debería estar de acuerdo con la mayoría de los carteles aquí.
Necesitaba agregar una dependencia adicional de Maven:
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>3.0.1.RELEASE</version>
</dependency>
Obtuve este error durante la implementación en Virgo. La solución fue agregar esto a mis importaciones de paquetes:
org.springframework.transaction.config;version="[3.1,3.2)",
Noté que en los contenedores de Spring bajo META-INF hay una sección spring.schemas y spring.handlers, y la clase a la que apuntan (en este caso org.springframework.transaction.config.TxNamespaceHandler) debe importarse.
Si ya tiene todas las dependencias en su pom, intente:
1. Quite todos los archivos jar descargados de su carpeta de repositorio maven para ''org-> springframework''
2. Haz una construcción limpia de maven.
Tuve el mismo mensaje de error al intentar implementar la aplicación. En Spring, la configuración de seguridad xml puede ser diferente de applicationContext.xml, generalmente applicationContext-security.xml dentro de la carpeta WEB-INF. Los cambios que se aplicarán son para web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/applicationContext.xml
/WEB-INF/applicationContext-security.xml
</param-value>
</context-param>
Y el applicationContext.xml se vería así:
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.1.xsd">
<http auto-config=''true''>
<intercept-url pattern="/login.jsp" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
<intercept-url pattern="/**" access="ROLE_USER" />
<form-login login-page=''login.jsp''/>
</http>
</beans:beans>
Incluso después de realizar estos cambios, el error de espacio de nombres existirá. Para deshacerse de esto, agregue los siguientes archivos jar a WEB-INF / lib y luego a la biblioteca:
- spring-security-acl-3.1.0.M2.jar
- spring-security-config-3.1.0.M2.jar
- spring-security-core-3.1.0.M2.jar
- spring-security-taglibs-3.1.0.M2.jar
- spring-security-web-3.1.0.M2.jar
Tuve el mismo problema hace unos minutos, me estaba perdiendo la biblioteca ''Maven depencendies'' en mi Asamblea de implementación. Lo agregué a través de la sección ''Ensamblaje de despliegue web'' en Eclipse
Utilicé el contenedor spring-security-config, resolvió el problema para mí
si la adición de dependencias no ha resuelto su problema, cree el archivo WAR de nuevo. En mi caso, utilicé el archivo WAR obsoleto sin security-web y security-conf jar