Exports on classpath entries destroy the classpath
--------------------------------------------------
Key: MECLIPSE-170
URL: http://jira.codehaus.org/browse/MECLIPSE-170
Project: Maven 2.x Eclipse Plugin
Issue Type: Bug
Affects Versions: 2.3
Reporter: Kenney Westerhof
Assigned To: Kenney Westerhof
Priority: Critical
Fix For: 2.3
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.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira