Nije moguće pronaći Proljetni prostor imenaHandler za prostor imena XMA sheme
Upravo sam najavio novi tečaj Learn Spring Security, uključujući puni materijal usredotočen na novi OAuth2 stog u Spring Security 5:
>> PROVJERITE TEČAJ1. Problem
Ovaj će članak raspravljati o jednom od najčešćih problema s konfiguracijom u proljeće - obrađivač prostora imena za jedan od imenskih prostora Spring nije pronađen. Većinu vremena to znači da na putu predavanja nedostaje jedna određena Spring jar - pa, hajde da pređemo na to što bi ove sheme koje nedostaju mogle biti i kakva ovisnost ovisi o svakoj od njih.
2. //www.springframework.org/schema/security
Nedostupnost sigurnosnog prostora imena daleko je najčešći problem u praksi:
Što dovodi do sljedeće iznimke:
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Problem konfiguracije: Nije moguće pronaći Spring namespaceHandler za prostor imena XML sheme [//www.springframework.org/schema/security] Uvredljivi resurs: resurs puta klase [securityConfig.xml]
Rješenje je jednostavno - opruga-sigurnost-konfiguracija nedostaje ovisnost u stazi predavanja projekta:
org.springframework.security spring-security-config 3.2.5.OSLOBOĐENJE
To će staviti ispravni rukovatelj prostorom imena - u ovom slučaju SecurityNamespaceHandler - na putu predavanja i spreman za raščlanjivanje elemenata u sigurnost prostor imena.
Kompletnu Mavenovu konfiguraciju za potpuno postavljanje Spring Securitya možete pronaći u mojem prethodnom vodiču za Maven.
3. //www.springframework.org/schema/aop
Isti se problem javlja prilikom upotrebe the aop prostor imena bez potrebne školske knjižice na putu:
Točna iznimka:
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Problem s konfiguracijom: Nije moguće pronaći Spring namespaceHandler za prostor imena XML sheme [//www.springframework.org/schema/aop] Uvredljivi resurs: Resurs ServletContext [/ WEB-INF / webConfig. xml]
Rješenje je slično - proljeće-aop jar treba dodati u stazu projekta:
org.springframework spring-aop 4.1.0.OSLOBOĐENJE
U ovom slučaju, AopNamespaceHandler bit će prisutan na putu predavanja nakon dodavanja nove ovisnosti.
4. //www.springframework.org/schema/tx
Koristeći prostor imena transakcija - mali, ali vrlo koristan prostor imena za konfiguraciju semantike transakcija:
rezultirat će i iznimkom ako prava staklenka nije na putu predavanja:
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Problem s konfiguracijom: Nije moguće pronaći Spring namespaceHandler za prostor imena XML sheme [//www.springframework.org/schema/tx] Uvredljivi resurs: resurs puta klase [daoConfig.xml]
Ovdje nedostaje ovisnost proljeće-tx:
org.springframework spring-tx 4.1.0.OSLOBOĐENJE
Sad, desno NamspaceHandler - naime TxNamespaceHandler - bit će prisutan na putu predavanja omogućavajući deklarativno upravljanje transakcijama s XML-om i bilješkama.
5. //www.springframework.org/schema/mvc
Krećući se prema the mvc prostor imena:
Ovisnost koja nedostaje dovest će do sljedeće iznimke:
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Problem s konfiguracijom: Nije moguće pronaći Spring namespaceHandler za prostor imena XML sheme [//www.springframework.org/schema/mvc] Izvor koji vrijeđa: resurs puta klase [webConfig.xml]
U ovom slučaju, ovisnost koja nedostaje je opruga-mvc:
org.springframework spring-webmvc 4.1.0.OSLOBOĐENJE
Dodajući ovo u pom.xml će dodati MvcNamespaceHandler do staze razreda - dopuštajući projektu da konfigurira MVC semantiku pomoću prostora imena.
6. Zaključak
Konačno, ako koristite Eclipse za upravljanje web poslužiteljem i implementaciju - pobrinite se da je odjeljak Deployment Assembly projekta ispravno konfiguriran - naime da su ovisnosti o Mavenu zapravo uključene u put predavanja u vrijeme postavljanja.
U ovom su vodiču raspravljali o uobičajenim osumnjičenicima za problem "Nije moguće locirati Spring namespaceHandler za XML imenski prostor sheme" i pružila rješenja za svaku pojavu.
Dno sigurnosti