xmlrootelement xmlelement ns2 namespaceprefixmapper namespace define java spring maven-2 spring-security

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>



Existe una buena lista de las dependencias de Maven en: Spring Site. Los principales artefactos necesarios son:

  1. spring-security-core
  2. Spring-security-web
  3. 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:

http://maven.apache.org/plugins/maven-shade-plugin/examples/resource-transformers.html#AppendingTransformer


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