java.lang.UnsupportedClassVersionError: org/motechproject/server/impl/OsgiListener : Unsupported major.minor version 52.0 (unable to load class org.motechproject.server.impl.OsgiListener)

19 views
Skip to first unread message

Frank Huster

unread,
Feb 17, 2016, 12:05:18 PM2/17/16
to motec...@googlegroups.com

​​
Built the latest version of MOTECH platform (master branch)
Using Java 8.
Getting the following exception in the log at startup

​, any suggestions?​

SEVERE: Error configuring application listener of class org.motechproject.server.impl.OsgiListener
java.lang.UnsupportedClassVersionError: org/motechproject/server/impl/OsgiListener : Unsupported major.minor version 52.0 (unable to load class org.motechproject.server.impl.OsgiListener)
    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:3111)
    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1348)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1828)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1709)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:506)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:488)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:115)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4919)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5517)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1095)
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1930)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
​Thanks!
f​

--
Frank Huster
Mobile Health Innovations
Grameen Foundation

Frank Huster

unread,
Feb 17, 2016, 2:06:57 PM2/17/16
to motec...@googlegroups.com

​​
​​
​​
Thanks to Pawel & Koshal for their help figuring this one out.

The current master platform requires Java 8.
My dev machine was running Ubuntu and Tomcat 7 installed as a service.
The default Tomcat 7 installation (sudo apt-get install tomcat7) uses Java 7.
So I created a setenv.sh file in the /usr/share/tomcat7/bin/ directory with the following content:

JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-amd64"

Which corresponds to where the Java 8 JDK is installed, which may be a different location depending on how you installed Java 8.

I then restarted tomcat and MOTECH started without any error, yay!

f

Reply all
Reply to author
Forward
0 new messages