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

Plugins that require dependency resolution in early phases cause dependency resolution issue

    XMLWordPrintableJSON

Details

    Description

      What we're seeing is that some multi-project configurations succeed on
      'mvn package' but fail on 'mvn generate-sources'. They are failing when
      one project in the reactor references another project in the reactor
      which is not installed in the local repo. It seems that the referenced
      project has not quite "made it" into the reactor this early in the phase
      lifecycle. But it does work correctly if you target a later phase at the
      outset which is really confusing.

      The problem only occurs when a plugin binds itself to the
      generate-sources phase and has @requiresDependencyResolution, presumably
      because this is what triggers resolution of the referenced dependency
      too early in the lifecycle, and hence the error.

      We are seeing this problem when trying to run 'mvn eclipse:eclipse'
      because this only executes the generate-sources phase by default and we
      have other mojos which genuinely do generate source, such as java2wsdl.

      A workaround we're using is to run 'mvn process-classes eclipse:eclipse'.

      Attached is a really simple project that exhibits this problem.

      Attachments

        1. maven-dependency-bug.zip
          5 kB
          Alfie Kirkpatrick

        Issue Links

          Activity

            People

              Unassigned Unassigned
              alfie Alfie Kirkpatrick
              Votes:
              25 Vote for this issue
              Watchers:
              40 Start watching this issue

              Dates

                Created:
                Updated: