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

Drive letter (colon) in Class-Path breaks executable jar manifest parsing

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Won't Fix
    • Icon: P4 P4
    • None
    • 1.2.2, 1.4.1
    • tools
    • jar
    • generic, x86
    • generic, windows_2000

      Name: gm110360 Date: 01/31/2003


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



      FULL OPERATING SYSTEM VERSION :

      Microsoft Windows 2000 [Version 5.00.2195]

      ADDITIONAL OPERATING SYSTEMS : Windows NT 4.0, Linux



      A DESCRIPTION OF THE PROBLEM :
      Having a drive letter specified for one of the jar files
      listed in the Class-Path section of our executable jar
      file's manifest consistently produces errors. The problem
      exists at least on JDK versions 1.3.1, 1.4.0, and 1.4.1
      beta, Windows NT, Windows 2000, and Linux.

      Our manifest looks like this:

      Main-Class: org.tigr.seq.cloe.display.CloeSplashScreen
      Class-Path: collections.jar jconn2.jar jhall.jar
      jlfgr-1_0.jar junit.jar jakarta-oro-2.0.5.jar jai_codec.jar
      jdom.jar xerces.jar jai_core.jar java-getopt-1.0.9.jar
      D:\devtools\jython\jython.jar


      Trying to run this executable jar file immediately produces
      this error:


      Exception in thread "main" java.lang.NoClassDefFoundError:
      org/tigr/seq/cloe/display/CloeSplashScreen

      Editing the final Class-Path entry to remove the explicit
      reference to the drive letter (the 'D:') relieves the
      problem, but this is not a satisfactory solution since we
      now depend on the D: drive being current for our executable
      jar file to run.


      This is not really a Windows problem per se; trying to run
      this jarfile on Linux gives exactly the same error about our
      application main class not being found, and not about the
      Jython libraries not being found.

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      1. Build executable jar file with Class-Path entry
      containing a colon
      2. Try to run it
      3. See the NoClassDefFoundError

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      Drive letters should be tolerated in Class-Path entries

      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      Exception in thread "main" java.lang.NoClassDefFoundError:
      org/tigr/seq/cloe/display/CloeSplashScreen

      REPRODUCIBILITY :
      This bug can be reproduced always.

      CUSTOMER WORKAROUND :
      Don't specify drive letters in Class-Path entries
      (Review ID: 160539)
      ======================================================================

            sherman Xueming Shen
            gmanwanisunw Girish Manwani (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: