Uploaded image for project: 'Maven Eclipse Plugin (RETIRED)'
  1. Maven Eclipse Plugin (RETIRED)
  2. MECLIPSE-170

Exports on classpath entries destroy the classpath

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 2.3
    • 2.3
    • None
    • None

    Description

      When all dependencies of projects are marked as 'exported' in the .classpath file, this creates chaos in the classpath.

      An example:

      continuum-release depends on:

      • maven-project 2.0.4
      • maven-release-plugin, which depends on maven-project 2.0

      Due to an API change (ProjectSorter added another exception in 2.0.4), I get an error in eclipse,
      because the code catches the exception defined in 2.0.4 but eclipse sees the implementation
      from 2.0 which doesn't throw that.

      Two solutions:

      • sort projects by transitive dependencies, so that the correct version is resolved. However, eclipse doesn't honor the order - project dependencies seem to come before library dependencies, no matter what the order is in the BuildPath->Order And Export tab. Ordering is also impossible, because two projects could be considered to be listed before eachoter:

      MAIN depends on A and B.
      A depends on C 1.0 and D 1.1
      B depends on C 1.1 and D 1.0.
      MAIN depends on C 1.0 and D 1.0.

      No way to order this properly, A needs to come before B because of C, and B needs to come before A because of D.

      Anyway, this option doesn't work.

      • Simplest solution: do NOT export any dependencies, and list all transitive dependencies explicitly. As the plugin currently already
        lists all transitive dependencies as project dependencies in eclipse, all that needs to be done is remove the 'exported="true"' flag
        from the .classpath entries.

      Attachments

        Issue Links

          Activity

            People

              kenneyw kenneyw
              kenney Kenney Westerhof
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: