Hot Deploy - IDEA, Tomcat Issue

Hello:

I have a strange issue that I could use some help on. I am running a CUBA Platform 7.2 application with Generic UI on a Tomcat Container (all standard, no customization). Tomcat was generated by the platform using the setupTomcat gradle task.

When I modify a screen descriptor xml or a screen controller java class, IDEA console correctly shows output similar to the following:

Hot deploy initiator files: ClientEdit.java [40 ms]
ClientEdit.java -> deploy\tomcat\conf\app

I have confirmed that the CUBA settings for hot deploy are as follows:

modules/global/src points to conf\app
modules/web/src points to conf\app (I modified this last bit, but can set it back up to default)

Next, I have confirmed that in the tomcat\conf\app folder, the relevant file (the xml or the java class) are deployed when IDEA gives me the hot deploy message.

However, Tomcat does not appear to use the latest deployed files. Container logs do not show a message about a new deployment being initiated within the container.

I have also tried to play around with the Tomcat properties common.loader as well as attempted to modify the WatchedResource tag in the Tomcat context.

One thing I noticed was that the Context tag generated by the platform is missing the reloadable = true tag. I assume this is a non-issue, since I tried including that tag and behavior did not change.

What am I missing?

Hi,

This is a wrong hot-deploy target path for CUBA 7.2 project.
If you open CUBA -> Settings -> Project settings -> Hot deploy settings in a fresh created CUBA 7.2 project, you should see these paths:
image

I suspect that you are using an outdated Studio version (less than 13.0). Studio 13 automatically sets necessary hot deploy settings for new projects and migrates them during existing project migration.

So please ensure you are using latest Studio version (13.1). Also if you project is a project migrated from previous CUBA platform versions, you might need to re-migrate it to CUBA 7.2 using new Studio, to ensure that necessary build task located in build.gradle were migrated correctly.