users@tyrus.java.net

Re: same classes in multiple jars

From: Pavel Bucek <pavel.bucek_at_oracle.com>
Date: Mon, 25 Feb 2013 09:38:37 +0100

Hi Johan,

are you sure you don't include any of tyrus* jars in your war file?

Pavel

On 2/25/13 9:29 AM, johan_at_lodgon.com wrote:
> I had a weird java.lang.VerifyError on my laptop with glassfish4-b77
> that prevented me from deploying @WebsocketEndpoints. However, same
> application runs fine on exactly the same glassfish4-b77 on my desktop.
> Here is the error on the laptop:
>
> [#|2013-02-25T09:19:22.282+0100|SEVERE|glassfish
> 4.0|javax.enterprise.web|_ThreadID=1;_ThreadName=main;_TimeMillis=13617
> 80362282;_LevelValue=1000;|WebModule[/chatserver]Exception starting
> filter WebSocket filter
> java.lang.VerifyError: (class:
> org/glassfish/tyrus/server/TyrusServerContainer, method: deploy
> signature: (Lorg/glassfish/tyrus/EndpointWrapper;)V) Incompatible
> argument to function
> at
> org.glassfish.tyrus.server.ServerContainerFactory.create(ServerContaine
> rFactory.java:119)
> at
> org.glassfish.tyrus.servlet.TyrusServletFilter.init(TyrusServletFilter.
> java:97)
> at
> org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationF
> ilterConfig.java:275)
> at
> org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilt
> erConfig.java:131)
> ...
>
> I then started glassfish with -verbose:class in order to see where all
> the classes come from. This is a snippet of my laptop log:
> [Loaded org.glassfish.tyrus.server.TyrusServerContainer from
> file:/opt/glassfish4b77/glassfish/modules/tyrus-server.jar]
> [Loaded org.glassfish.tyrus.spi.SPIEndpoint from
> file:/opt/glassfish4b77/glassfish/modules/tyrus-spi.jar]
> [Loaded org.glassfish.tyrus.spi.SPIEndpoint from
> file:/opt/glassfish4b77/glassfish/modules/tyrus-core.jar]
> [Loaded org.glassfish.tyrus.EndpointWrapper from
> file:/opt/glassfish4b77/glassfish/modules/tyrus-core.jar]
> [Loaded java.lang.VerifyError from /opt/jdk1.7.0_09/jre/lib/rt.jar]
> [Loaded java.lang.Throwable$PrintStreamOrWriter from
> /opt/jdk1.7.0_09/jre/lib/rt.jar]
>
> SPIEndpoint is loaded twice from 2 different jars (tyrus-core and
> tyrus-spi). The desktop log shows that SPIEndpoint is loaded only once,
> from tyrus-core.jar.
> This seems like a packaging issue?
>
> - Johan
>
>