There is no other way to propagate changes to portlet.xml, liferay-portlet.xml and other deployment descriptors in the portal than to actually relocate the application (as you described it takes a lot of time).
However, there are some possibilities to do this with JSP - set developer properties, and the changes will be visible immediately after reboot.
There is also a jRebel tool that can do the same for Java classes and wireframe configurations. It works without problems with spring and spring mvc. Struts is listed in a supported framework, so it should work too. After properly configured, the script looks like this:
change java ctrl + s file to save and compile the file (your environment should support this) reload the browser (jrebel automatically deletes changes in class files and reloads them immediately).
Unfortunately, jRebel is not free.
If you have a large number of portlets, then dividing them into more web applications can help. This usually reduces the time required to redeploy.
Hope this helps.
source share