[ 
https://issues.apache.org/jira/browse/HADOOP-10100?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robert Kanter updated HADOOP-10100:
-----------------------------------

    Attachment: HADOOP-10100.patch

It took a lot of trial and error, but I was able to find the minimal set of 
dependencies and exclusions to get this to work without using any of their jars 
that include 3rd party packages (btw, the Apache DS artifacts are a big mess).

An especially tricky issue was that one of the dependencies, {{apacheds-jbm1}}, 
isn't a jar -- it's a "bundle", which requires the maven-bundle-plugin.  
However, they aren't publishing it properly or something so it doesn't work 
anyway.  The workaround, which I figured out from 
[this|https://bitbucket.org/resah/embedded-apacheds/commits/85ff4716f58f4db8418a0a2ff965e7a8db9f5a0e#chg-pom.xml],
 was to exclude {{apacheds-jbm1}} and explicitly include it, but using version 
{{2.0.0-M3-SNAPSHOT}} instead of {{2.0.0-M15}} because it's not a bundle.  

I've verified that everything compiles, {{TestMiniKdc}} passes, and the issue I 
was having in Oozie goes away.  

> MiniKDC shouldn't use apacheds-all artifact
> -------------------------------------------
>
>                 Key: HADOOP-10100
>                 URL: https://issues.apache.org/jira/browse/HADOOP-10100
>             Project: Hadoop Common
>          Issue Type: Bug
>    Affects Versions: 2.3.0
>            Reporter: Robert Kanter
>            Assignee: Robert Kanter
>         Attachments: HADOOP-10100.patch
>
>
> The MiniKDC currently depends on the {{apacheds-all}} artifact:
> {code:xml}
>     <dependency>
>       <groupId>org.apache.directory.server</groupId>
>       <artifactId>apacheds-all</artifactId>
>       <version>2.0.0-M15</version>
>       <scope>compile</scope>
>     </dependency>
> {code}
> However, this artifact includes, inside of itself, a lot of other packages, 
> including antlr, ehcache, apache commons, and mina (you can see a full list 
> of the packages in the jar 
> [here|http://mvnrepository.com/artifact/org.apache.directory.server/apacheds-all/2.0.0-M15]).
>   This can be problematic if other projects (e.g. Oozie) try to use MiniKDC 
> and have a different version of one of those dependencies (in my case, 
> ehcache).  Because the packages are included inside the {{apacheds-all}} jar, 
> we can't override their version.  
> Instead, we should remove {{apacheds-all}} and use dependencies that only 
> include org.apache.directory.* packages; the other necessary dependencies 
> should be included normally.



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

Reply via email to