Uploaded image for project: 'Maven'
  1. Maven
  2. MNG-4600

[regression] Optional flag from dependency management applied to dependencies

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 3.0-alpha-7
    • 3.0-beta-1
    • Dependencies
    • None

    Description

      The situation is quite complex to explain. I've a parent pom that defines dependencies in depMgmt. There's two projects in the multimodule project, the second depending on the first.

      Excerpt (parent/depMgmt):

      <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>${logback.version}</version>
        <scope>runtime</scope>
      <optional>true</optional>

      First child (redefines scope only):

      <dependency>
       <groupId>ch.qos.logback</groupId>
       <artifactId>logback-classic</artifactId>
       <scope>compile</scope>
      </dependency>

      Second child:

      <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-api</artifactId>
      </dependency>
      <dependency>
       <groupId>m3pb</groupId>
       <artifactId>subproject1</artifactId>
       <version>${project.version}</version>
      </dependency>

      When running with maven 2, it works. When ran with maven 3, it fails on the second project, with a NoClassDefFoundError on the logback jar.

      I seem to understand this is actually a bug in maven 2: as the depMgmt defines optional=true, it shouldn't have been working in maven2 without redeclaring the dependency in the second project.

      From my understanding:

      • With maven 2, the transivity is taken in account and gives logback through the subproject1 link (from the second)
      • With maven 3, this just doesn't work and this is the correct behaviour.

      Please excuse my basic analysis.
      I'm attaching a test project to let see more precisely the problem.

      If you need any help, please let me know.

      Cheers
      -- 
      Baptiste

      Attachments

        1. bug-maven.zip
          15 kB

        Issue Links

          Activity

            People

              bentmann Benjamin Bentmann
              mathus.b@mipih.fr Baptiste MATHUS
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: