Liferay EE 6 has done away with the old EXT environment in previous versions and has moved to a more extensible plugin approach. While I wholeheartedly endorse that approach, it is fraught with one small problem: redeployments. The situation is this: you initially deploy your EXT plugin but then you make some changes and want to redeploy. Well your previous deployment’s jars are now in the class loader so you can’t just run “ant deploy” again to get your new changes on the server.
The solution: shutdown your server and run this script. This script has been improved upon from this post here to include portlets that you may have modified in your EXT. I’ve also included a version for MAC/Linux users.
Windows Version:
@echo off set app_name=%1 if "%app_name%" == "" goto end set tomcat_home=C:\apps\liferay-portal-6.0-ee\tomcat-6.0.29 rmdir /S /Q %tomcat_home%\temp rmdir /S /Q %tomcat_home%\webapps\%app_name%-ext rmdir /S /Q %tomcat_home%\webapps\ROOT\html\portlet\ext del /S /Q %tomcat_home%\lib\ext\ext-%app_name%-ext-service.jar del /S /Q %tomcat_home%\webapps\ROOT\WEB-INF\lib\ext-%app_name%-ext-util-bridges.jar del /S /Q %tomcat_home%\webapps\ROOT\WEB-INF\lib\ext-%app_name%-ext-util-taglib.jar del /S /Q %tomcat_home%\webapps\ROOT\WEB-INF\lib\ext-%app_name%-ext-util-java.jar del /S /Q %tomcat_home%\webapps\ROOT\WEB-INF\lib\ext-%app_name%-ext-impl.jar del /S /Q %tomcat_home%\webapps\ROOT\WEB-INF\ext-%app_name%-ext.xml del /S /Q %tomcat_home%\webapps\ROOT\WEB-INF\tiles-defs-ext.xml del /S /Q %tomcat_home%\temp\liferay\com\liferay\portal\deploy\dependencies\ext-%app_name%-ext-util-bridges.jar del /S /Q %tomcat_home%\temp\liferay\com\liferay\portal\deploy\dependencies\ext-%app_name%-ext-util-taglib.jar del /S /Q %tomcat_home%\temp\liferay\com\liferay\portal\deploy\dependencies\ext-%app_name%-ext-util-java.jar :end
Mac/Linux Version:
#!/bin/sh if [ $# -ne 1 ]; then echo "Usage: clean-my-ext [ext-name]" exit 1 fi tomcat_home="/local/mnt/apps/liferay/tomcat-6.0.29" app_name="$1" rm -rf $tomcat_home/temp rm -rf $tomcat_home/webapps/$app_name-ext rm -rf $tomcat_home/webapps/ROOT/html/portlet/ext rm -f $tomcat_home/lib/ext/ext-$app_name-ext-service.jar rm -f $tomcat_home/webapps/ROOT/WEB-INF/lib/ext-$app_name-ext-util-bridges.jar rm -f $tomcat_home/webapps/ROOT/WEB-INF/lib/ext-$app_name-ext-util-taglib.jar rm -f $tomcat_home/webapps/ROOT/WEB-INF/lib/ext-$app_name-ext-util-java.jar rm -f $tomcat_home/webapps/ROOT/WEB-INF/lib/ext-$app_name-ext-impl.jar rm -f $tomcat_home/webapps/ROOT/WEB-INF/ext-$app_name-ext.xml rm -f $tomcat_home/webapps/ROOT/WEB-INF/tiles-defs-ext.xml rm -f $tomcat_home/temp/liferay/com/liferay/portal/deploy/dependencies/ext-$app_name-ext-util-bridges.jar rm -f $tomcat_home/temp/liferay/com/liferay/portal/deploy/dependencies/ext-$app_name-ext-util-taglib.jar rm -f $tomcat_home/temp/liferay/com/liferay/portal/deploy/dependencies/ext-$app_name-ext-util-java.jar