Fórum

How to use Spring in a portlet without including the jars?

thumbnail
Cameron McBride, modificado 11 Anos atrás.

How to use Spring in a portlet without including the jars?

Expert Postagens: 269 Data de Entrada: 08/02/11 Postagens Recentes
Simple enough right? I have a Spring MVC portlet and if I deploy the various spring jars with it then it works perfectly. Instead I would like to use the Spring 3.0.6 that comes with Liferay, in <tomcat>\webapps\ROOT\WEB-INF\lib\spring*.jar.

What I did was first not include the jars in my war (ha ha) and second I added this into my portlet-plugin-package.properties:
portal-dependency-jars=\
commons-logging.jar,\
jstl-api.jar,\
jstl-impl.jar,\
slf4j-api.jar,\
spring-context.jar,\
spring-aop.jar,\
spring-asm.jar,\
spring-beans.jar,\
spring-context-support.jar,\
spring-core.jar,\
spring-expression.jar,\
spring-web.jar

I'm not sure that it's really needed, I think those are just for compile time dependencies and I'm using gradle to build. When I deploy it fails immediatly with this:
20:36:02,520 ERROR [PortletBagFactory:123] java.lang.NoClassDefFoundError: org/springframework/context/ApplicationListener
java.lang.NoClassDefFoundError: org/springframework/context/ApplicationListener


Any ideas how to take advantage of the Spring that Liferay already has loaded so I don't have to deploy portlets with duplicate jars?
thumbnail
jelmer kuperus, modificado 11 Anos atrás.

RE: How to use Spring in a portlet without including the jars?

Liferay Legend Postagens: 1191 Data de Entrada: 10/03/10 Postagens Recentes
The class you are missing is in spring-context.jar so you should have it.

can you verify that this class was copied to the webapps/your-portlet/WEB-INF/lib folder after your portlet was deployed?
thumbnail
David H Nebinger, modificado 11 Anos atrás.

RE: How to use Spring in a portlet without including the jars?

Liferay Legend Postagens: 14914 Data de Entrada: 02/09/06 Postagens Recentes
Also make sure you're doing a clean build and deploy. Hot deploy may not be deleting some of the jars hanging around.