Errore NamespaceHandler with Spring portlet and Liferay

org.springframework.beans.factory.BeanDefinitionStoreException:  Unexpected exception parsing XML document from PortletContext resource [/WEB-INF/context/petsites-portlet.xml];  nested exception is java.lang.IllegalArgumentException: Class  [org.springframework.beans.factory.xml.SimplePropertyNamespaceHandler] does not implement the NamespaceHandler interface Caused by:  java.lang.IllegalArgumentException: Class [org.springframework.beans.factory.xml.SimplePropertyNamespaceHandler]  does not implement the NamespaceHandler interface

Dopo un pò di navigazione sui pochi links disponibili su google suggerisco questi due:

http://www.digizenstudio.com/blog/2005/07/27/hotdeploy-into-liferay350/#comments
http://forum.springframework.org/archive/index.php/t-46216.html

Indicano chiaramente che se noi pubblichiamo una portlet su Liferay e abbiamo incluso nel war o nella directory WEB-INF/lib una libreria .jar simile ad una già presente tra le librerie di Liferay, il sistema non caricherà la portlet in quanto ci sarebbero due classloader diversi che cercano di caricarla. Ed in questo caso il file di log catalina.out restituisce l’errore.

In realtà per correggere tale errore basta eliminare dalla cartella deployata della portlet la libreria “doppia”, nel mio caso spring.jar e tutto va per il verso giusto.
Inoltre un errore(che però viene di default ignorato) è quello della libreria log4j.jar, infatti anch’esso è caricato doppiamente.
Qui il log:

11:08:28,978 ERROR [[/sample-spring-portlet]:3715] Error configuring application listener of class  org.springframework.web.util.Log4jConfigListener java.lang.ClassNotFoundException: org.springframework.web.util.Log4jConfigListener

In questo caso basta eliminare dalla cartella precedente il file doppione.

D.

~ di diegotech su gennaio 15, 2008.

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

 
%d blogger cliccano Mi Piace per questo: