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

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • EAP_EWP 5.2.0
    • EAP_EWP 5.1.2
    • Other
    • None
    • Most likely all JBoss 5.x before EAP 5.1.3

    • Release Notes
    • 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.
    • Documented as Resolved Issue
    • 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

      Attachments

        Activity

          People

            rhn-support-bmaxwell Brad Maxwell
            rhn-support-bmaxwell Brad Maxwell
            Scott Thomas Scott Thomas (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: