Issue deploying a Play! application WAR on IBM Websphere 6.1

184 views
Skip to first unread message

Rashmi Dixit

unread,
Sep 6, 2013, 3:36:01 AM9/6/13
to play-fr...@googlegroups.com
Hi,

We have created a basic Java application using Play 2.1  and Java 1.7. We created a war using play2war plugin and tried deploying this on Websphere 6.1. However, we are getting an exception when doing so. Exception is pasted below. It is mentioned that play2war isnt supported for WAS 6.1. Can we try some other method to create the war so that we can deploy this on Websphere 6.1.

Can you please help us here? 

Thanks!
Rashmi

Caused by: java.lang.LinkageError: LinkageError while defining class: play.core.server.servlet25.Play2Servlet
Could not be defined due to: (play/core/server/servlet25/Play2Servlet) bad major version at offset=6
This is often caused by having a class defined at multiple
locations within the classloader hierarchy. Other potential causes
include compiling against an older or newer version of the class
that has an incompatible method signature.
Dumping the current context classloader hierarchy:
    ==> indicates defining classloader
==>[0] 
com.ibm.ws.classloader.CompoundClassLoader@c000c
   Local ClassPath: C:\Program Files\IBM\WebSphere\AppServer\profiles\AppSrv01\installedApps\Websphere-DevNode01Cell\playtest-1_0-SNAPSHOT_war.ear\playtest-1.0-SNAPSHOT.war\WEB-INF\classes;C:\Program Files\IBM\WebSphere\AppServer\profiles\AppSrv01\installedApps\Websphere-DevNode01Cell\playtest-1_0-SNAPSHOT_war.ear\playtest-1.0-SNAPSHOT.war\WEB-INF\lib\ch.qos.logback.logback-classic-1.0.7.jar;C:\Program Files\IBM\WebSphere\AppServer\profiles\AppSrv01\installedApps\Websphere-DevNode01Cell\playtest-1_0-SNAPSHOT_war.ear\playtest-1.0-SNAPSHOT.war\WEB-INF\lib\ch.qos.logback.logback-core-1.0.7.jar;C:\Program Files\IBM\WebSphere\AppServer\profiles\AppSrv01\installedApps\Websphere-DevNode01Cell\playtest-1_0-SNAPSHOT_war.ear\playtest-1.0-SNAPSHOT.war\WEB-INF\lib\com.github.play2war.play2-war-core-common_2.10-1.0.jar;C:\Program Files\IBM\WebSphere\AppServer\profiles\AppSrv01\installedApps\Websphere-DevNode01Cell\playtest-1_0-SNAPSHOT_war.ear\playtest-1.0-SNAPSHOT.war\WEB-INF\lib\com.github.play2war.play2-war-core-servlet25_2.10-1.0.jar;C:\Program Files\IBM\WebSphere\AppServer\profiles\AppSrv01\installedApps\Websphere-DevNode01Cell\playtest-1_0-SNAPSHOT_war.ear\playtest-1.0-SNAPSHOT.war
   Delegation Mode: PARENT_FIRST
   [1] com.ibm.ws.classloader.JarClassLoader@209325178 Local Classpath: Delegation mode: PARENT_FIRST
   [2] com.ibm.ws.classloader.ProtectionClassLoader@47c447c4
   [3] com.ibm.ws.bootstrap.ExtClassLoader@75a075a
   [4] org.eclipse.osgi.framework.adaptor.core.CDSBundleClassLoader@5a065a06
   [5] sun.misc.Launcher$AppClassLoader@6ab86ab8
   [6] sun.misc.Launcher$ExtClassLoader@33e033e
---Original exception---
java.lang.UnsupportedClassVersionError: (play/core/server/servlet25/Play2Servlet) bad major version at offset=6
  at java.lang.ClassLoader.defineClassImpl(Native Method)
  at java.lang.ClassLoader.defineClass(ClassLoader.java:222)
  at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:148)
  at com.ibm.ws.classloader.CompoundClassLoader._defineClass(CompoundClassLoader.java:526)
  at com.ibm.ws.classloader.CompoundClassLoader.findClass(CompoundClassLoader.java:477)
  at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:373)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:561)
  at java.beans.Beans.instantiate(Beans.java:202)
  at java.beans.Beans.instantiate(Beans.java:63)
  at com.ibm.ws.webcontainer.servlet.ServletWrapper$1.run(ServletWrapper.java:1195)
  at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)
  at com.ibm.ws.webcontainer.servlet.ServletWrapper.loadServlet(ServletWrapper.java:1190)
  at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.loadServlet(ServletWrapper.java:385)
  at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:339)
  at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)
  at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3107)
  at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:238)
  at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:811)
  at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1425)
  at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:92)
  at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
  at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
  at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:274)
  at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
  at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
  at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:152)
  at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:213)
  at com.ibm.io.async.AbstractAsyncFuture.fireCompletionActions(AbstractAsyncFuture.java:195)
  at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
  at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:193)
  at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:725)
  at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:847)
  at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1498)

--- end Original exception----

  at com.ibm.ws.classloader.CompoundClassLoader._defineClass(CompoundClassLoader.java:573)
  at com.ibm.ws.classloader.CompoundClassLoader.findClass(CompoundClassLoader.java:477)
  at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:373)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:561)
  at java.beans.Beans.instantiate(Beans.java:202)
  at java.beans.Beans.instantiate(Beans.java:63)
  at com.ibm.ws.webcontainer.servlet.ServletWrapper$1.run(ServletWrapper.java:1195)
  at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)
  at com.ibm.ws.webcontainer.servlet.ServletWrapper.loadServlet(ServletWrapper.java:1190)
  ... 21 more

Damien Lecan

unread,
Sep 6, 2013, 5:20:37 AM9/6/13
to play-fr...@googlegroups.com
Hi,

Play2War is compiled with JDK 6 and with compilation option "target=1.6".

I just checked Play2War jar on Central:
http://search.maven.org/remotecontent?filepath=com/github/play2war/play2-war-core-servlet25_2.10/1.0/play2-war-core-servlet25_2.10-1.0.jar

javap -v Play2Servlet.class | grep version
minor version: 0
major version: 50

"50" means Java 6.

Can you check your JRE/JDK configuration ?

Damien


2013/9/6 Rashmi Dixit <ras...@gmail.com>:
> --
> You received this message because you are subscribed to the Google Groups
> "play-framework" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to play-framewor...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.

Peter Empen

unread,
Sep 6, 2013, 8:27:26 AM9/6/13
to play-fr...@googlegroups.com
Are you sure that WAS 6.1 supports Java 6? WAS 6.1 is about 4 years old. What about WAS 7.x or 8.x?
Peter
Reply all
Reply to author
Forward
0 new messages