Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4295946

multiple Class-Path entries in jar Manifest not handled properly

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 6
    • 1.2.0, 1.3.1
    • tools
    • jar
    • b91
    • generic, x86
    • solaris_7, windows_nt

      The documentation says you can have multiple Class-Path entries in
      a Manifest file, e.g.

      Class-Path: mail.jar
      Class-Path: activation.jar

      but this doesn't work. Only the last Class-Path header seems to be used.
      Instead, you have to do this

      Class-Path: mail.jar activation.jar

      Name: jl125535 Date: 01/18/2002


      FULL PRODUCT VERSION :
      java version "1.3.0_02"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0_02)
      Java HotSpot(TM) Client VM (build 1.3.0_02, mixed mode)

      SunOS carter 5.6 Generic_105181-22
      sun4u sparc SUNW,Ultra-80




      A DESCRIPTION OF THE PROBLEM :
      When I specify 2 jar files in my manifest file as follows:

      Class-Path: area.jar<^>
           .
           .
       <many class paths><^>
           .
           .
      Class-Path: servlet.jar<^>EOF


      Note:<^> means white-space

      the manifest.mf in the jar file only contains the last
      Class-Path statement.


      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      1.create a manifest and include the 2 or more Class-Path
        statements
      1.5 back up your manifest file
      2. creat a jar include this manifest file in it.
      3. open the manifest file in the jar (using WINZIP32.exe,
      etc.) and compare to your back-up version.

      Note: each jar file name is <= 70 chars

      EXPECTED VERSUS ACTUAL BEHAVIOR :

      According to:

        
      http://java.sun.com/docs/books/tutorial/ext/basics/download.html


      " More about the Class-Path Header
      If an applet or application uses more than one extension,
      you can list multiple URLs in a manifest. For example, the
      following is a valid header:
      Class-Path: area.jar servlet.jar images/

      In the Class-Path header any URLs listed that don't end
      with '/' are assumed to be JAR files. URLs ending in '/'
      indicate directories. In the preceding example, images/
      might be a directory containing resources needed by the
      applet or the application.
      You can also specify multiple extension URLs by using more
      than one Class-Path header in the manifest. For example:

      Class-Path: area.jar
      Class-Path: servlet.jar

      Download extensions can be "daisy chained", meaning that
      the manifest of one download extension can have a Class-
      Path header that refers to a second extension, which can
      refer to a third extension, and so on. "

      It should be possible to have multiple Class-Path:
      in manifest file.


      ERROR MESSAGES/STACK TRACES THAT OCCUR :

      No error messages

      This bug can be reproduced always.

      CUSTOMER WORKAROUND :

      Work around is to include ALL jars on one Class-Path:
      (Review ID: 138127)
      ======================================================================

            bristor Dave Bristor (Inactive)
            bshannon Bill Shannon (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: