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

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

Attach filesAttach ScreenshotAdd voteVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    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

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            alfie Alfie Kirkpatrick

            Dates

              Created:
              Updated:

              Slack

                Issue deployment