Troubleshooting
Problem
When starting an IBM Application Server Liberty Profile (all versions), application discovery attempts to resolve manifest class attributes of the application. That resolution is necessary for the application to locate resources during normal operations. Both class loading and static resource retrieval use the resolved manifest class path. When a manifest class path fails to resolve, the warning message "SRVE9967W" is displayed, once for each manifest class path element which did not resolve. The warning message may indicate a serious problem which should be corrected. The warning message may indicate a harmless problem which may be corrected, but which also may be ignored. When the warning occurs, diagnostic steps should be taken to determine if the problem is severe or is harmless. If the problem is severe, correct steps must almost always be taken. If the problem is harmless, corrective steps may be taken (to prevent the message from being displayed), or, the problem may be ignored. Most often, the warning indicates a problem of an application which is being processed. Less often, the warning indicates a code problem of the application server. The warning message "SRVE9967W" is specific to the IBM Application Server Liberty Profile. However, the underlying problem -- the failure to resolve a manifest class -- also occurs for other IBM Application Server profiles. The discussion relating to the underlying problem is applicable to all IBM Application Server profiles.
Symptom
The primary symptom is the display of the warning message "SRVE9967W", possibly several times, once for each manifest class path element which fails to resolve. The message displays the manifest class path element which failed to resolve and displays the name of archive which contains the unresolved manifest class path element.
The message is displayed during application discovery, typically, during server startup. Application discovery also occurs when an application is added as a drop-in application, or when processing is done to react to updates made to an already discovered application (when files are added or removed from the application's file set).
The warning message does not prevent the application from being run. However, at a later time, secondary symptoms may appear. Most frequently, the application will fail with a ClassNotFoundException. Less frequently, the application may fail to service a request because static content cannot be located. A failure to locate static content often results in a failure of application function.
Secondary symptoms also include less immediately visible but still severe problems: If the application contains more than one copy of a resource, with the precendence between the copies decided by the ordering of manifest class path elements, the failure to resolve one element of a manifest class path may result in the wrong copy of a resource from being used. Use of the wrong copy of a resource often results in a failure of application function.
The appearance of secondary symptoms usually indicates that the problem is severe. Almost always, the application should be updated to correct the problem.
The application may run showing no secondary symptoms. That may indicate that the manifest class path element is not necessary to the application, meaning, the warning is harmless and may be ignored. However, the absence of secondary symptoms might instead indicate that the function which requires the unresolved manifest class path element has not yet been exercised, in which case the problem would be severe and should be corrected.
As an example of a severe problem, enterprise application "MyApp" with web module "MyWeb" specifies a manifest class path with three elements, "MyUtil1.jar", "MyUtil2.jar", and "MyUtil33.jar". The enterprise application "MyApp" contains the three utility JARS "MyUtil1.jar", "MyUtil2.jar", and "MyUtil3.jar". In this example, the manifest class path element "MyUtill33.jar" does not match the actual JAR file "MyUtil3.jar":
MyApp.ear\
MyWeb.war\
META-INF\MANIFEST.MF
Class-Path: MyUtil1.jar, MyUtil2.jar, MyUtil33.jar
MyUtil1.jar
MyUtil2.jar
MyUtil3.jar
When discovering "MyApp", because of the mismatch, a "SRVE9967W" warning is displayed:
SRVE9967W: The manifest class path MyUtil33.jar can not be found in jar file MyWeb.war or its parent.
Note: Depending on the version of the IBM WebSphere Application Server Liberty Profile, the following message may instead be displayed:
SRVE9967W: The manifest class path element MyUtil33, of archive MyWeb.war, could not be resolved.
Later, during application processing, class references from MyWeb.war to MyUtil3.jar will fail to resolve, leading to a ClassNotFoundException.
For this example, either the manifest class path element "MyUtil33.jar" should be changed to "MyUtil33.jar", or the JAR file "MyUtil3.jar" should renamed to "MyUtil33.jar".
As an example of a harmless problem problem, enterprise application "MyApp" with web module "MyWeb" specifies a manifest class path with four elements, "MyUtil1.jar", "MyUtil2.jar", "MyUtil3.jar", and "ExtraUtils.jar". The enterprise application "MyApp" only contains three utility JARS: "MyUtil1.jar", "MyUtil2.jar", and "MyUtil3.jar", with "ExtraUtils.jar" having at one time been present, but since that time having been merged into "MyUtil3.jar":
MyApp.ear\
MyWeb.war\
META-INF\MANIFEST.MF
Class-Path: MyUtil1.jar, MyUtil2.jar, MyUtil3.jar, ExtraUtils.jar
MyUtil1.jar
MyUtil2.jar
MyUtil3.jar
When processing "MyApp", because of the "ExtraUtils.jar" element fails to resolve, a "SRVE9967W" warning is be displayed:
SRVE9967W: The manifest class path ExtraUtils.jar can not be found in jar file MyWeb.war or its parent.
In this example, all of the classes previously present in "ExtraUtils.jar" are present in "MyUtil3.jar". No ClassNotFoundExceptions will occur in relation to the warning. As a corrective step, The "ExtraUtils.jar" element is obsolete and should be removed. Or, the manifest could be left as-is and the message can be ignored.
Log InLog in to view more of this document
Was this topic helpful?
Document Information
Modified date:
03 March 2025
UID
swg21681388