Appreciate any guidance around upgrading lucee from 5.3.6.61 to 5.3.9 version. I went through the page How to update Lucee :: Lucee Documentation, however don’t get same options on our dev admin page.
It is a windows installation, do I need to start with fresh windows installation for upgraded version or is there a better way to do it.
the admin should look like this?
anyone up for updating / improving the docs page, I’m swamped at the moment
I get below screen and not the expected one, not sure if there is some way that it was disabled.
there might have been a bug in that release relating to that, was a while ago and I can’t remember
anyway, you can achieve the same by downloading the core file from https://download.lucee.org/
i.e. https://cdn.lucee.org/5.3.9.141.lco
and dropping it into your deploy folder as per Deploying Lucee :: Lucee Documentation
thanks, I will give this a try and will update how I get on with it, any things to consider in relation to configuration etc?
you doing this in dev or prod?
should be a seamless upgrade, but you’ve got proper backups in place right
this is local at first and then I will move to higher environments. For Prod obviously will have all the backup including server back up
Not looking good, got below while trying to get to admin page
HTTP Status 500 – Internal Server Error
Type Exception Report
Message Servlet execution threw an exception
Description The server encountered an unexpected condition that prevented it from fulfilling the request.
Exception
javax.servlet.ServletException: Servlet execution threw an exception org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Root Cause
java.lang.NoClassDefFoundError: lucee/runtime/listener/ClassicApplicationContext lucee.runtime.CFMLFactoryImpl.getPageContextImpl(CFMLFactoryImpl.java:154) lucee.runtime.engine.CFMLEngineImpl._service(CFMLEngineImpl.java:1095) lucee.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:1073) lucee.loader.engine.CFMLEngineWrapper.serviceCFML(CFMLEngineWrapper.java:97) lucee.loader.servlet.CFMLServlet.service(CFMLServlet.java:51) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Root Cause
java.lang.ClassNotFoundException: Unable to load class ‘lucee.runtime.listener.ClassicApplicationContext’ because the bundle wiring for lucee.core is no longer valid. org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1562) org.apache.felix.framework.BundleWiringImpl.access$300(BundleWiringImpl.java:79) org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1982) java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) lucee.runtime.CFMLFactoryImpl.getPageContextImpl(CFMLFactoryImpl.java:154) lucee.runtime.engine.CFMLEngineImpl._service(CFMLEngineImpl.java:1095) lucee.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:1073) lucee.loader.engine.CFMLEngineWrapper.serviceCFML(CFMLEngineWrapper.java:97) lucee.loader.servlet.CFMLServlet.service(CFMLServlet.java:51) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Note The full stack trace of the root cause is available in the server logs.
Also the /deploy folder has another folder created /failed-to-deploy and the core file is pushed to that
In case you have all your settings set in your Application.cfc and scheduler tasks added programatically, so that you won’t have any problems wiping out your server-context and web-contexts, an alternative would be:
- Stop Lucee/Tomcat
- Download the latest lucee.jar and overwrite the existing lucee.jar at path-to-lucee/tomcat/lib/ext/lucee.jar
- Restart Lucee and wait the contexts to be deployed.
If you need to save your admin settings before upgrading, you could also use commandbox cfconfig to backup the settings of your contexts to restore them back later after the upgrade. I’ve read somewhere that commandbox cfconfig now also saves scheduled tasks (thanks to a sponser who paid for that functionality).
1 Like
Thanks I will give this a go and update you
cfconfig really is the beez-kneez!
Export / import configs / making changes…
You don’t need to use “coldBox” either to use all the utilities that come along with it.
I use it in a script - so that can be sure that I always get the same settings.
I used to copy out the XML files and copy them back in to a new install…
But being able to visually see what I am setting (in the script) is much more informative.
1 Like
Hi @Zackster
I can help with this.
Hi guys,
I got the error below after I tried a Lucee update from 5.3.8.206 to 5.3.9.133 (or 141).
I tried to find something useful in the log files but unfortunately without success.
The lucee service will run again once the patch has been removed.
Help is very welcome.
Cheers
Marc
#####################
OS: Ubuntu 20.04.4 LTS (GNU/Linux 5.4.0-121-generic x86_64)
Type: Exception Report
Message: Not a directory
Desc: The server encountered an unexpected condition that prevented it from fulfilling the request.
Exception:
javax.servlet.ServletException: Not a directory
java.base/java.io.UnixFileSystem.createFileExclusively(Native Method)
java.base/java.io.File.createNewFile(File.java:1026)
lucee.commons.io.res.type.file.FileResource.getOutputStream(FileResource.java:261)
lucee.commons.io.retirement.RetireOutputStream.getOutputStream(RetireOutputStream.java:54)
lucee.commons.io.retirement.RetireOutputStream.write(RetireOutputStream.java:131)
java.base/sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:233)
java.base/sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:312)
java.base/sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:316)
java.base/sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:153)
java.base/java.io.OutputStreamWriter.flush(OutputStreamWriter.java:254)
lucee.commons.io.log.log4j2.appender.ResourceAppender.setFile(ResourceAppender.java:120)
lucee.commons.io.log.log4j2.appender.ResourceAppender.(ResourceAppender.java:52)
lucee.commons.io.log.log4j2.Log4j2Engine.toResourceAppender(Log4j2Engine.java:524)
lucee.commons.io.log.log4j2.Log4j2Engine.getAppender(Log4j2Engine.java:371)
lucee.commons.io.log.LoggerAndSourceData.getLog(LoggerAndSourceData.java:135)
lucee.runtime.config.ConfigImpl.getLog(ConfigImpl.java:3705)
lucee.runtime.config.ConfigImpl.getLog(ConfigImpl.java:3694)
lucee.runtime.config.XMLConfigWebFactory.load(XMLConfigWebFactory.java:438)
lucee.runtime.config.XMLConfigWebFactory.newInstance(XMLConfigWebFactory.java:282)
lucee.runtime.engine.CFMLEngineImpl.loadJSPFactory(CFMLEngineImpl.java:927)
lucee.runtime.engine.CFMLEngineImpl.addServletConfig(CFMLEngineImpl.java:796)
lucee.loader.engine.CFMLEngineWrapper.addServletConfig(CFMLEngineWrapper.java:87)
lucee.loader.engine.CFMLEngineFactory.getInstance(CFMLEngineFactory.java:216)
lucee.loader.servlet.CFMLServlet.init(CFMLServlet.java:42)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590)
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.base/java.lang.Thread.run(Thread.java:834)
Hi @andreas, Sorry I was caught up in another task, there is no existing folder ext under lucee/tomcat/lib, does a new folder needs to be created?
Current lucee jar is placed at below path, kindly suggest
Yes, that’s the one. What I usually do as a quick update, is (after stopping Lucee/Tomcat) rename that old files extension lucee-5.3.6.61.jar to lucee-5.3.6.61.old-jar. Doing that you’ll keep a copy of that Lucee version as a bsckup, and it won’t be deployed with that extension. Then simply download the new lucee.jar to that exact folder. Then restart lucee/tomcat.
1 Like
@andreas thanks this has helped, the version has bene upgraded, I am doing initial test to ensure no configuration is lost !!
Thanks again, will drop a note here for any issues faced during testing.
1 Like
Hi Zac,
Finally getting my around to this;
In the page;
lucee-docs\docs\04.guides\03.updating-lucee\01.update\page.md
is;
![update.png](https://bitbucket.org/repo/rX87Rq/images/1091096189-update.png)
but how do I replace this image with a new one?
Or even add a new one?
DO I add it locally (somewhere) and the build process moves it?
Or do I need access to the AWS resource?
Thanks!
Gavin,
yep,
or (if it works), I’d rather keep images next to the source page.md
file, _images
is ok for generic images, but otherwise it becomes a bit of disconnected dumping ground
1 Like
I have created LD-155
And a PR for the changes.
1 Like