Ah, that explains it - thanks Hoss! I wasn’t aware of this class loader 
subtlety, thanks for teaching me something new today :)

-Steve

On Sep 3, 2014, at 7:53 PM, Chris Hostetter <hossman_luc...@fucit.org> wrote:

> 
> : Yes, I specifically made a package in my custom plugins code that was in 
> : the solr package space i.e.: org.apache.solr.update.processor
>       ...
> : completely fine within my unit tests as it was loaded with the same 
> : class loader (junit test run). I believe the specific issue that I came 
>       ...
> : something is a bit screwy with the external resource loader as this 
> : should work (as long as the custom class is within the same package name 
> : as Solr).
> 
> Ah, ok - so yeah: what you were doing at compile time was valid, but by 
> then loading those "org.apache.solr.*" classes as a plugin (vs putting 
> them in the war with the other classes in that pacakge) is definitely what 
> caused the problem -- at runtime class/package identity includes the 
> ClassLoader...
> 
> http://www.cooljeff.co.uk/2009/05/03/the-subtleties-of-overriding-package-private-methods/
> 
> ie: not a bug in Solr's plugin ClassLoader, just the devil-in-the-details 
> of how a "package" is defined as far as the runtime goes.  (And 
> unfortunately, the "@Override" check in java is source annotation only - 
> there's no way to ask the JVM to enforce that and treat it as an assertion 
> or anything like that)
> 
> 
> 
> -Hoss
> http://www.lucidworks.com/
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to