Uploaded image for project: 'Kuali Rice Development'
  1. Kuali Rice Development
  2. KULRICE-8616

Wrong slf4j-log4j12 version resolved when depending on rice-core-impl

    Details

    • Type: Bug Fix
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.2.0-m4, 2.2
    • Fix Version/s: 2.1.3
    • Component/s: Development
    • Security Level: Public (Public: Anyone can view)
    • Labels:
      None
    • KAI Review Status:
      Not Required
    • KTI Review Status:
      Not Required

      Description

      If an external project depends on rice-core-impl a version of slf4j-log4j12 (1.4.2) will be resolved that conflicts with the slf4j-api version (1.6.4). The conflicting version is coming from the displaytag dependency. I'm not sure if the goal when using slf4j is to not include an impl for consumers - but this can be resolved by adding an explicit dependency on the slf4j-log4j12, excluding it from the displaytag dependency, or possibly removing the displaytag dependency (nothing in that module stands out as requiring it, but I don't have the project open to test).

        Attachments

          Activity

          Hide
          cpedersen Corey Pedersen (Inactive) added a comment -

          Rice 2.1 pom.xml has explicit exclusions for slf4j artifacts in its' displaytag dependency statement. If a project declares a dependency on a rice module which has a declared dependency for slf4j-log4j12 and for rice-core-impl module then the parent declared version of slf4j-log4j12 is loaded. If an explicit dependency for slf4j-log4j12 is not declared in any of the modules referenced by the project then a default version(1.4.2) of slf4j-log4j12 is utilized when referencing the rice-core-impl module.

          To make the version of slf4j-log4j12 which is used by rice-core-impl consistent, I am adding a explicit dependency to the rice-core-impl pom.xml. This will enable the existing exclusions in the parent rice pom.xml and will utilize the version specified.

          Show
          cpedersen Corey Pedersen (Inactive) added a comment - Rice 2.1 pom.xml has explicit exclusions for slf4j artifacts in its' displaytag dependency statement. If a project declares a dependency on a rice module which has a declared dependency for slf4j-log4j12 and for rice-core-impl module then the parent declared version of slf4j-log4j12 is loaded. If an explicit dependency for slf4j-log4j12 is not declared in any of the modules referenced by the project then a default version(1.4.2) of slf4j-log4j12 is utilized when referencing the rice-core-impl module. To make the version of slf4j-log4j12 which is used by rice-core-impl consistent, I am adding a explicit dependency to the rice-core-impl pom.xml. This will enable the existing exclusions in the parent rice pom.xml and will utilize the version specified.
          Hide
          cpedersen Corey Pedersen (Inactive) added a comment -

          Committed revision 36198. Issue resolved.

          Show
          cpedersen Corey Pedersen (Inactive) added a comment - Committed revision 36198. Issue resolved.

            People

            • Assignee:
              cpedersen Corey Pedersen (Inactive)
              Reporter:
              sgibson Scott Gibson (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: