|
Problem(Abstract) |
The IBM® WebSphere® Application Server does not start when
the debug service is enabled and dfc.jar file is visible in the WebSphere
Application Server classloader environment. |
|
|
|
Cause |
The dfc.jar file contains classes utilized by the
com.ibm.bsf.BSFManager class. This JAR is sometimes made visible to the
server classloader within the WebSphere Application Server environment
(this is also known as the ExtClassLoader, which has the JVM classloader
as it's parent). When this happens in such a way that it overrides those
classes supplied by WebSphere Application Server, the server fails to
launch, and emits the following message and exception stack trace:
[4/25/05 10:09:58:833 EDT] 322cadef WsServer E
WSVR0003E: Server server2 failed to start
java.lang.NoSuchMethodError: com.ibm.bsf.BSFManager: method
initBSFDebugManager()V not found
at
com.ibm.debug.DebugAppServerComponentImpl.start(DebugAppServerComponentImpl.java:117)
at
com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:543)
at
com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:418)
at
com.ibm.ws.runtime.component.ApplicationServerImpl.start(ApplicationServerImpl.java:128)
at
com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:543)
at
com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:418)
at
com.ibm.ws.runtime.component.ServerImpl.start(ServerImpl.java:183)
at com.ibm.ws.runtime.WsServer.start(WsServer.java:128)
at com.ibm.ws.runtime.WsServer.main(WsServer.java:225)
at java.lang.reflect.Method.invoke(Native Method)
at com.ibm.ws.bootstrap.WSLauncher.main(WSLauncher.java:94)
|
|
|
Resolving the
problem |
Dependent classes of the com.ibm.bsf.BSFManager class have
been identified in the dfc.jar file, and WebSphere Application Server
users have placed dfc.jar in the WAS_HOME/java/jre/lib/ext
directory. This causes the classes in dfc.jar to override those in
WebSphere Application Server. The WebSphere Application Server standard
installation does not place the dfc.jar file in the
WAS_HOME/java/jre/lib/ext directory.
A dfc.jar is part of the “Documentum Foundation Classes” which is third
party jar; we do not advice users to put this jar in /java/jre/lib/ext
directory. If you want to implement the third party jar, best practice
would be to create a shared library and associate the jar.
To correct this problem, remove dfc.jar from the
WAS_HOME/java/jre/lib/ext directory. If you do not require debugging
assistance for this package, then an alternative solution is to create a
server-associated shared library set to PARENT_LAST, which will cause all
applications in the server to use the supplied version while still
allowing WebSphere Application Server to use its own version.
When debug is enabled, the bsf manager tries to load some class and if
dfc.jar is placed in the directory, it fails to load classes from the
debug jar causing conflicts and WebSphere Application Server fails to
start. Removing dcf.jar resolves the conflict. |
|
|
|
|
Cross Reference information |
Segment |
Product |
Component |
Platform |
Version |
Edition |
Application Servers |
Runtimes for Java Technology |
Java SDK |
|
|
|
Historical Number |
12441
L6Q
000 |
|
|
|
|