I am in the process of migrating a Lucee 4 setup, which is managed by Puppet, to Lucee 5. This is using the JARs distribution. There are a few things that don’t quite make sense so I am hoping that someone can shed some light…
On first boot with no existing files whatsoever, Lucee unpacks itself from lucee.jar and installs the default set of extensions. It seems to update lucee-server.xml to reflect the set of extensions that were installed. So far so good.
In order to deploy additional extensions in a predictable fashion (i.e. with no unpredictable delays due to directory watching), I am trying to make use of the lucee-extensions system property. This seemed to be working well, but in the situation where I had to upgrade an existing extension, I noticed something… It seems that Lucee will start up any existing web application contexts and then react to a version change in the lucee-extensions system property. That means that the newly started runtime environment is still using the previous version of the extension. This requires a) awareness of this issue and b) an additional server restart to fully effect the extension upgrade.
Given an existing lucee-server.xml but no other files, lucee.jar seems to unpack most things as expected. However, when it tries to install the default set of extensions, it seems to forget that they are provided in lucee.jar and instead tries to download them all over the Internet. Is this expected behaviour? I am considering preemptively unzipping the default extensions to lucee-server/context/extensions/available/ as a work-around.