Fórumok

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

thumbnail
Cameron McBride, módosítva 11 év-val korábban

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

Expert Bejegyzések: 269 Csatlakozás dátuma: 2011.02.08. Legújabb bejegyzések
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, módosítva 11 év-val korábban

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

Liferay Legend Bejegyzések: 1191 Csatlakozás dátuma: 2010.03.10. Legújabb bejegyzések
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, módosítva 11 év-val korábban

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

Liferay Legend Bejegyzések: 14914 Csatlakozás dátuma: 2006.09.02. Legújabb bejegyzések
Also make sure you're doing a clean build and deploy. Hot deploy may not be deleting some of the jars hanging around.