Uploaded image for project: 'JBoss Enterprise Application Platform 4 and 5'
  1. JBoss Enterprise Application Platform 4 and 5
  2. JBPAPP-9412

SARDeployer is not adding MANIFEST Class-Path entries transitively

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: EAP_EWP 5.1.2
    • Fix Version/s: EAP_EWP 5.2.0
    • Component/s: Other
    • Labels:
      None
    • Environment:

      Most likely all JBoss 5.x before EAP 5.1.3

    • Affects:
      Release Notes
    • Release Notes Text:
      Hide
      It was found that in previous versions of JBoss Enterprise Application Platform 5 when a <filename>.sar</filename> that declared a classpath element in its <filename>*-service.xml</filename> was deployed, that the <literal>MANIFEST.MF Class-Path</literal> of the <filename>.jar</filename> files specified in the <filename>.sar</filename>'s classpath were not added to the <filename>.sar</filename>'s classpath. This release has patched the <literal>SARDeployer</literal> such that the classpath is transitive, so if the <filename>sar</filename>'s classpath includes <filename>x.jar</filename> and <filename>x.jar</filename>'s classpath includes <filename>z.jar</filename>, then the <filename>.sar</filename>'s classpath also includes <filename>z.jar</filename> as it should.
      Show
      It was found that in previous versions of JBoss Enterprise Application Platform 5 when a <filename>.sar</filename> that declared a classpath element in its <filename>*-service.xml</filename> was deployed, that the <literal>MANIFEST.MF Class-Path</literal> of the <filename>.jar</filename> files specified in the <filename>.sar</filename>'s classpath were not added to the <filename>.sar</filename>'s classpath. This release has patched the <literal>SARDeployer</literal> such that the classpath is transitive, so if the <filename>sar</filename>'s classpath includes <filename>x.jar</filename> and <filename>x.jar</filename>'s classpath includes <filename>z.jar</filename>, then the <filename>.sar</filename>'s classpath also includes <filename>z.jar</filename> as it should.
    • Release Notes Docs Status:
      Documented as Resolved Issue
    • Docs QE Status:
      NEW

      Description

      A *-service.xml that defines a classpath, who archive contains a META-INF/MANIFEST.MF Class-Path referencing another jar does not get added to the classpath of the *-service.xml.

      Testing show that the classpath is added if done with an ear containing a war and jars, and also the test worked in JBoss EAP 4.x.

      <?xml version='1.0' encoding='UTF-8' ?>
      <!DOCTYPE server PUBLIC
      "-//JBoss//DTD MBean Service 5.0//EN"
      "http://www.jboss.org/j2ee/dtd/jboss-service_5_0.dtd">

      <server>
      <classpath codebase="test" archives="x.jar"/>

      <mbean code="com.jboss.examples.mbean.SimpleMBean"
      name="com.jboss.examples.mbean:service=SimpleMBean"/>
      </server>

      Setup put jars here
      $JBOSS_HOME/server/$PROFILE/test/x.jar
      $JBOSS_HOME/server/$PROFILE/test/z.jar

      Deploy a test mbean with the xml above that references the x.jar but not the z.jar. The z.jar is listed in the MANIFEST.MF of the Class-Path of the x.jar.
      $JBOSS_HOME/server/$PROFILE/deploy/test-service.xml

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                bmaxwell Brad Maxwell
                Reporter:
                bmaxwell Brad Maxwell
                Writer:
                Scott Thomas
              • Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: