Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-2583

Please remove Maven dependency on slf4j-jdk14

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.2.4
    • 2.2.6
    • Build system
    • None
    • Moderate

    Description

      The Maven POM for CXF 2.2.4 contains the following lines:

      <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-jdk14</artifactId>
      <version>1.5.8</version>
      </dependency>

      This forces the SLF4J JDK14 binding to be downloaded and included in any project using this POM. Even if we want to use Log4J instead, we have no choice about the JDK14 binding being included in our project.

      We're using the Maven-Eclipse plugin to generate our Eclipse configuration. This results in slf4j-jdk14 being added to the classpath. Again this appears to be unavoidable.

      SLF4J picks the first binding in the classpath. This appears to be unavoidable. There is no documented way to avoid it. Because J comes before L, it always picks the JDK binding over the Log4J binding. This makes it impossible to use Log4J instead.

      I don't think any project should force users to choose a particular logging binding, as this defeats the whole point of SLF4J. Please just depend on the API, and let the developer or user install whatever actual binding they wish.

      Attachments

        Issue Links

          Activity

            People

              dkulp Daniel Kulp
              gcc Graham Charters
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - 0.25h
                  0.25h
                  Remaining:
                  Remaining Estimate - 0.25h
                  0.25h
                  Logged:
                  Time Spent - Not Specified
                  Not Specified