Teddy
Teddy

Reputation: 4243

Exception while starting server

Got the following exception while deploying application. Is the Slf4j error and the class not found related in some way?

[10/22/14 17:33:05:792 GST] 00000082 SystemErr     R SLF4J: Class path contains multiple SLF4J bindings.
[10/22/14 17:33:05:792 GST] 00000082 SystemErr     R SLF4J: Found binding in [bundleresource://242.fwk10101291:1/org/slf4j/impl/StaticLoggerBinder.class]
[10/22/14 17:33:05:792 GST] 00000082 SystemErr     R SLF4J: Found binding in [wsjar:file:/D:/Program%20Files%20(x86)/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/App1/Appl1.ear/WebApp1.war/WEB-INF/lib/slf4j-log4j12-1.6.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]
[10/22/14 17:33:05:792 GST] 00000082 SystemErr     R SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
[10/22/14 17:33:05:792 GST] 00000082 SystemErr     R SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
[10/22/14 17:33:23:669 GST] 00000090 SystemErr     R java.lang.ClassNotFoundException: com.sun.jersey.core.spi.factory.ResponseImpl
[10/22/14 17:33:23:669 GST] 00000090 SystemErr     R    at java.net.URLClassLoader.findClass(URLClassLoader.java:599)
[10/22/14 17:33:23:669 GST] 00000090 SystemErr     R    at com.ibm.ws.bootstrap.ExtClassLoader.findClass(ExtClassLoader.java:204)
[10/22/14 17:33:23:669 GST] 00000090 SystemErr     R    at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:743)
[10/22/14 17:33:23:669 GST] 00000090 SystemErr     R    at java.lang.ClassLoader.loadClass(ClassLoader.java:720)
[10/22/14 17:33:23:669 GST] 00000090 SystemErr     R    at com.ibm.ws.bootstrap.ExtClassLoader.loadClass(ExtClassLoader.java:119)
[10/22/14 17:33:23:669 GST] 00000090 SystemErr     R    at java.lang.ClassLoader.loadClass(ClassLoader.java:690)
[10/22/14 17:33:23:669 GST] 00000090 SystemErr     R    at com.ibm.ws.classloader.ProtectionClassLoader.loadClass(ProtectionClassLoader.java:62)
[10/22/14 17:33:23:669 GST] 00000090 SystemErr     R    at com.ibm.ws.classloader.ProtectionClassLoader.loadClass(ProtectionClassLoader.java:58)
[10/22/14 17:33:23:716 GST] 00000090 SystemErr     R    at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:584)
[10/22/14 17:33:23:716 GST] 00000090 SystemErr     R    at java.lang.ClassLoader.loadClass(ClassLoader.java:690)
[10/22/14 17:33:23:716 GST] 00000090 SystemErr     R    at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:584)
[10/22/14 17:33:23:716 GST] 00000090 SystemErr     R    at java.lang.ClassLoader.loadClass(ClassLoader.java:690)
[10/22/14 17:33:23:716 GST] 00000090 SystemErr     R    at java.lang.J9VMInternals.verifyImpl(Native Method)
[10/22/14 17:33:23:716 GST] 00000090 SystemErr     R    at java.lang.J9VMInternals.verify(J9VMInternals.java:93)
[10/22/14 17:33:23:716 GST] 00000090 SystemErr     R    at java.lang.J9VMInternals.initialize(J9VMInternals.java:170)
[10/22/14 17:33:23:716 GST] 00000090 SystemErr     R    at com.sun.jersey.core.spi.factory.AbstractRuntimeDelegate.createResponseBuilder(AbstractRuntimeDelegate.java:99)
[10/22/14 17:33:23:716 GST] 00000090 SystemErr     R    at javax.ws.rs.core.Response$ResponseBuilder.newInstance(Response.java:60)
[10/22/14 17:33:23:716 GST] 00000090 SystemErr     R    at javax.ws.rs.core.Response.status(Response.java:256)
[10/22/14 17:33:23:716 GST] 00000090 SystemErr     R    at javax.ws.rs.core.Response.ok(Response.java:215)

Upvotes: 0

Views: 479

Answers (2)

Teddy
Teddy

Reputation: 4243

Looks like upgrading from Java 7 to Java 8 introduced some version of JAX-RS in the class path.

WAS has its own JDK implementation. There was another Java installation in local system. That installation was upgraded to version 8.

I removed JAVA_HOME environment variable and restarted system. App is launching now. Guess this was the problem, although I did clear some temp folders etc. as well. Could have been a SLF4J conflict as well.

Upvotes: 0

Gas
Gas

Reputation: 18040

Looks like your application is using third party JAX-RS provider. Since WebSphere has it's own there is a conflict. Check this post how to use custom JAX-RS provider.

Upvotes: 1

Related Questions