[ 
https://issues.apache.org/jira/browse/UIMA-3381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13805422#comment-13805422
 ] 

Richard Eckart de Castilho commented on UIMA-3381:
--------------------------------------------------

I'd just like to point out that in my experience, exclusions are not such a 
good idea. Consider the following situation:

* Project X has a dependency on UIMA-AS
* UIMA-AS has an excluded transitive dependency on A
* Project X has a dependency on Y
* Project Y has a transitive dependency on Z
* Project Z has a transitive dependency on A

Maven uses the concept of "closest first". So since the exclusion of A is 
closed to X (X -> UIMA AS -> !A) than the inclusion (X -> Y -> Z -> A), A not 
available to x, even though it is required by Z.

Users of uimaFIT / DKPro Core  had issues with exclusions in uimaFIT when we 
started excluding stuff in the POM. Hence,  we do not do exclusions in the POM 
anymore, but we do them only in the binary assembly.

Note: I didn't build a test of this right now, this is how I made myself a 
rhyme to the issues our users had when uimaFIT had been using exclusions.

> Trim UIMA-AS  dependencies
> --------------------------
>
>                 Key: UIMA-3381
>                 URL: https://issues.apache.org/jira/browse/UIMA-3381
>             Project: UIMA
>          Issue Type: Bug
>          Components: Async Scaleout
>            Reporter: Jerry Cwiklik
>            Assignee: Jerry Cwiklik
>             Fix For: 2.4.2AS
>
>
> The uimaj-as-activemq pom declares dependency on activemq-web which in turn 
> has transitive dependencies on many other parts including hadoop,google 
> guiice, jackson and others. This just bloats the classpath with unnecessary 
> dependencies and forced downloads during maven builds. 
> Modify poms to exclude transitive dependencies.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to