This is not a solution, it is a workaround, but I do a full build (at the CLI) 
before importing. Then I just leave the Jena module project closed in Eclipse. 
Then Eclipse tries to resolve it for the other projects like any other Maven 
dependency, which works because I already built it and it is available from my 
local repo. 

I agree that the whole thing is a bit odd, at best. At some point Rob had a 
similar problem and I asked on-list why we shade Guava and it was explained:

https://lists.apache.org/thread.html/8fb52fc8f9d4cbdaa17853a07f8fcc16fcaaf7ef5d5cee07e38b6556@1433424160@%3Cdev.jena.apache.org%3E

It is to avoid conflict with a transitive dependency on earlier versions of 
Guava from Hadoop.

https://issues.apache.org/jira/browse/HADOOP-10101

looks like it last got a comment in October, when someone suggested that Hadoop 
start shading _its_ archaic Guava, which (I think) would be both polite and 
useful. There doesn't seem to be any action on that front, but I am not at all 
involved with Hadoop.

Another alternative was discussed in our thread above: managing and releasing 
our shaded Guava independently of the main release. I think that as long as we 
have to deal with the transitive issue, that is still a good idea. But as Andy 
points out in that thread, it would create more work for a release manager. I'm 
now a committer (which I was not then) so I can and do heartily volunteer for 
that work for a shaded Guava subproject!

---
A. Soroka
The University of Virginia Library

> On Dec 2, 2016, at 6:15 AM, Claude Warren <[email protected]> wrote:
> 
> I know that Rob commented on something similar about a year ago but I am
> wondering if there is a common solution to the following problem:
> 
> I do a gig clone of the Jean repository.
> I do an eclipse import existing maven from the root Jena directory.
> 
> Eclipse gets stuck in a null pointer loop during the build. (Maven builds
> fine).
> jena-arq fails to build and continiously loops.
> If I build the shaded guava first and force the eclipse build to point to
> the jar it seems to solve the problem.
> 
> Other packages will not compile because they have references to the shaded
> package names but the shaded jar is not on the classpath.
> 
> Seems to me we need a way to make sure the shaded jar appears in the maven
> dependencies so that it will be included in the pom.  However, I think that
> since the shaded guava does not have any source eclipse does not run it and
> so does not build the jar that is needed by the other projects.  I am not
> certian this is the case.
> 
> Anybody have a solution to making Jena compile in Eclipse directly after
> doing a git clone?
> 
> Thx,
> Claude
> 
> -- 
> I like: Like Like - The likeliest place on the web
> <http://like-like.xenei.com>
> LinkedIn: http://www.linkedin.com/in/claudewarren

Reply via email to