Botched upgrade 4.5 to 5.x on my Mac ? or something else?

48 views
Skip to first unread message

Birgit Pauli-Haack

unread,
Mar 4, 2017, 2:03:08 PM3/4/17
to lu...@googlegroups.com
Hi there, I really could use your help! 

I am trying to upgrade a lucee 4.5.x to 5.x on my Mac 

The error message when I go to http://localhost:8080/ 

HTTP Status 500 - Servlet.init() for servlet CFMLServlet threw exception

Here is what I did
I followed the instructions to upgrade from 4.5 to 5

The tomcat folder structure
  • apache-tomcat
    • bin
    • conf
    • lib
    • logs
    • lucee

The instructions on above page read: 
Add the lucee-5.x.x.xxx.jar you downloaded to the "lib" directory in your existing Lucee install.

I think, in my case that should be tomcat/lucee/ directory, as there wasn't a lucee.jar in the /lib/ folder, but in the /lucee/folder

I downloaded "lucee.jar" from here https://bitbucket.org/lucee/lucee/downloads/ (2017-02-02) - 

I  removed all other *.jar files as instructed.
I kept the /lucee-server/ folder 

The /lucee/ folder now only has in it. 
lucee.jar 
/lucee-server/

Under important Information, the instructions read, that I also don't need the tomcat/bin/setenv.sh to call lucee-inst.jar any more, as that's the only thing this file did, I deleted it. 

Somehow I am not quite sure if this even a lucee issue...

Any ideas? 

Birgit

Here is the full error display/trace: 

type Exception report

message Servlet.init() for servlet CFMLServlet threw exception

description The server encountered an internal error that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Servlet.init() for servlet CFMLServlet threw exception
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
	org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:617)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
	org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
	org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)
	org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1527)
	org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1484)
	java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	java.lang.Thread.run(Thread.java:745)

root cause

java.lang.NoClassDefFoundError: org/osgi/framework/Bundle
	java.lang.Class.getDeclaredMethods0(Native Method)
	java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
	java.lang.Class.privateGetMethodRecursive(Class.java:3048)
	java.lang.Class.getMethod0(Class.java:3018)
	java.lang.Class.getMethod(Class.java:1784)
	lucee.loader.engine.CFMLEngineFactory.getEngine(CFMLEngineFactory.java:749)
	lucee.loader.engine.CFMLEngineFactory.initEngine(CFMLEngineFactory.java:288)
	lucee.loader.engine.CFMLEngineFactory.getEngine(CFMLEngineFactory.java:228)
	lucee.loader.engine.CFMLEngineFactory.getInstance(CFMLEngineFactory.java:102)
	lucee.loader.engine.CFMLEngineFactory.getInstance(CFMLEngineFactory.java:155)
	lucee.loader.servlet.CFMLServlet.init(CFMLServlet.java:41)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
	org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:617)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
	org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
	org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)
	org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1527)
	org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1484)
	java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	java.lang.Thread.run(Thread.java:745)

root cause

java.lang.ClassNotFoundException: org.osgi.framework.Bundle
	org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1313)
	org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1164)
	lucee.loader.classloader.LuceeClassLoader.loadClass(LuceeClassLoader.java:173)
	lucee.loader.classloader.LuceeClassLoader.loadClass(LuceeClassLoader.java:138)
	java.lang.Class.getDeclaredMethods0(Native Method)
	java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
	java.lang.Class.privateGetMethodRecursive(Class.java:3048)
	java.lang.Class.getMethod0(Class.java:3018)
	java.lang.Class.getMethod(Class.java:1784)
	lucee.loader.engine.CFMLEngineFactory.getEngine(CFMLEngineFactory.java:749)
	lucee.loader.engine.CFMLEngineFactory.initEngine(CFMLEngineFactory.java:288)
	lucee.loader.engine.CFMLEngineFactory.getEngine(CFMLEngineFactory.java:228)
	lucee.loader.engine.CFMLEngineFactory.getInstance(CFMLEngineFactory.java:102)
	lucee.loader.engine.CFMLEngineFactory.getInstance(CFMLEngineFactory.java:155)
	lucee.loader.servlet.CFMLServlet.init(CFMLServlet.java:41)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
	org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:617)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
	org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
	org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)
	org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1527)
	org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1484)
	java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	java.lang.Thread.run(Thread.java:745)

Andrew Dixon

unread,
Mar 4, 2017, 3:16:24 PM3/4/17
to lu...@googlegroups.com
Birgit, I know this doesn't fix your issue or even attempt to address it, but on your local development environment on your Mac, why not just use CommandBox? That is what I do for all my Lucee development environments on my Mac and it is by far the easiest way to do it. You can easily switch between Lucee 4.5, 5.0, 5.1, etc... as required using the:

box start cfengine=lucee@[version_number]

command, or even drop into ACF (shudder) if required:

box start cfengine=adobe@[version_number]

run multiple at the same time, on different ports, and so on. It is extremely flexible and so easy to use. Brad has done an excellent job.


Kind regards,

Andrew

--
You received this message because you are subscribed to the Google Groups "Lucee" group.
To unsubscribe from this group and stop receiving emails from it, send an email to lucee+unsubscribe@googlegroups.com.
To post to this group, send email to lu...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/lucee/CAA7LTqcdsreN8nnf6-VEsVoJg484%2BUvGHHgKHGzyTci%3Dv3mp5w%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Birgit Pauli-Haack

unread,
Mar 5, 2017, 12:17:33 PM3/5/17
to lu...@googlegroups.com
Hi Andrew,

I appreciate your prompting. As you said, it doesn't fix my issue. Just introduces, even more, unknowns to the original problem I need to solve. 

That's the reason I posted it here, so smarter people than me at Lucee can give guidance, and we might be able to update the outdated documentation on how to use Luces on a MAC

I just hope sooner or later someone would chime in. 

Here a different variation to the problem: 

HTTP Status 500 - java.lang.NoSuchMethodException: lucee.runtime.engine.CFMLEngineImpl.getInstance(lucee.loader.engine.CFMLEngineFactory)

type Exception report

message java.lang.NoSuchMethodException: lucee.runtime.engine.CFMLEngineImpl.getInstance(lucee.loader.engine.CFMLEngineFactory)

description The server encountered an internal error that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: java.lang.NoSuchMethodException: lucee.runtime.engine.CFMLEngineImpl.getInstance(lucee.loader.engine.CFMLEngineFactory)
	lucee.loader.engine.CFMLEngineFactory.initEngine(CFMLEngineFactory.java:305)
	lucee.loader.engine.CFMLEngineFactory.getEngine(CFMLEngineFactory.java:228)
	lucee.loader.engine.CFMLEngineFactory.getInstance(CFMLEngineFactory.java:102)
	lucee.loader.engine.CFMLEngineFactory.getInstance(CFMLEngineFactory.java:155)
	lucee.loader.servlet.CFMLServlet.init(CFMLServlet.java:41)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
	org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:617)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
	org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
	org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)
	org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1527)
	org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1484)
	java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	java.lang.Thread.run(Thread.java:745)

root cause

java.lang.NoSuchMethodException: lucee.runtime.engine.CFMLEngineImpl.getInstance(lucee.loader.engine.CFMLEngineFactory)
	java.lang.Class.getMethod(Class.java:1786)
	lucee.loader.engine.CFMLEngineFactory.getEngine(CFMLEngineFactory.java:749)
	lucee.loader.engine.CFMLEngineFactory.initEngine(CFMLEngineFactory.java:288)
	lucee.loader.engine.CFMLEngineFactory.getEngine(CFMLEngineFactory.java:228)
	lucee.loader.engine.CFMLEngineFactory.getInstance(CFMLEngineFactory.java:102)
	lucee.loader.engine.CFMLEngineFactory.getInstance(CFMLEngineFactory.java:155)
	lucee.loader.servlet.CFMLServlet.init(CFMLServlet.java:41)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
	org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:617)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
	org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
	org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)
	org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1527)
	org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1484)
	java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	java.lang.Thread.run(Thread.java:745)

note The full stack trace of the root cause is available in the Apache Tomcat/8.0.24 logs.



mark

unread,
Mar 5, 2017, 2:29:43 PM3/5/17
to Lucee
Don't know macs but I think the directory structure is should be your-lucee-dir/lib/ext/...

that's where you remove all the old jars, keep the lucee-server folder and drop the lucee.jar in the lib/ext directory.

good luck.

Nando Breiter

unread,
Mar 5, 2017, 6:52:52 PM3/5/17
to lu...@googlegroups.com
Birgit,

I left 4.5 alone and installed the express version of 5 alongside it, modifying server.xml (if my memory is correct) to use another port. Installing the express version is simply a matter of unzipping it (making sure there isn't a port conflict and setting the docBase in server.xml) and running /bin/startup.sh as root, using sudo, which on my Mac is 

sudo ~/lucee5/bin/startup.sh

My memory is correct. I just checked. 

In server.xml under/within
<Service name="Catalina">

find

<Connector port="8888" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

And change the port number if it conflicts with your 4.5 installation (if you want to restore it from backup ... )

I'm sure you know this but at the bottom of server.xml, you'll find a Host entry:

<Host name="localhost" ...

and within it, a Context tag where you can set the docBase attribute where lucee should look for files to serve. Mine looks like this:

<Context path="" docBase="/Users/nando/sites" />

With the above settings, once I have started or restarted Lucee, I can navigate to localhost:8888/someproject/ and Lucee 5 will serve, presumably, the index.cfm file in /Users/nando/sites/someproject/

With a bit more effort, you can also run Lucee behind Apache or Nginx on your dev machine if you want, but the above should get you properly setup easily and quickly. I don't use mod_cfml, even in production. Setting up the host entries in server.xml is simple, and I don't have a need to do it very often. So bottom line for me is that I always use the express version, even on a production server - to avoid issues with installers, mod_cfml, missing jar files, java stack traces ... and because I can find lots of guidance online how to configure tomcat or apache or nginx, but very little, if anything, on the mechanics of upgrading Lucee 4.5 to 5, specifically what to do if the shit hits the fan and splatters a java stack trace - well, not really splatters - it is very nicely stacked ... but still ... 





Aria Media Sagl
+41 (0)76 303 4477 cell
skype: ariamedia

--
You received this message because you are subscribed to the Google Groups "Lucee" group.
To unsubscribe from this group and stop receiving emails from it, send an email to lucee+unsubscribe@googlegroups.com.
To post to this group, send email to lu...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages