Another approach would be to hide the packages provided by server.  It's a
better way to avoid the liberay conflict between the app and server.

<sys:import-package> !org.apache.commons.codec*</sys:import-package>

you can also do the same with this

<sys:hidden-classes> sys:classFilterType </sys:hidden-classes>

if you are using geornimo 2.x



On Sat, Feb 16, 2013 at 7:45 PM, Peter Petersson
<petersson.pe...@gmail.com>wrote:

>  Hi
>
> Thanks Richard for putting this minimal Scala 2.9/2.10 example together to
> demonstrate this "class loading problem".
>
> I took a peek at it and found a way to get around the problem found with
> the 2.10 build (see below), however I still have not found the direct cause
> of the problem and hope that someone in the Geronimo community could help
> narrow it down a bit more, It would be greatly appreciated ( David J ? ;)
> ).
>
> To make the 2.10 build deploy and start correctly, as the Scala 2.9 build
> dose, I added the inverse-classloading [1] setting to the deployment
> descriptor (for the Scala 2.10 build, its not needed when building with
> Scala 2.9), this may however not be a ultimate solution in all situations
> so if anyone have a better solution or a suggestion on how to narrow it
> down pleas let us know.
>
> [1]
> http://geronimo.apache.org/schemas-3.0/docs/geronimo-module-1.2.xsd.html#h1508775248
>
> best regards
>    Peter Petersson
>
>
>
> On 02/12/2013 11:05 AM, Richard Dallaway wrote:
>
> Hello.
>
>  I've run into a WAR deployment problem that I'm hoping someone here can
> help me understand and resolve.
>
>  I've put together a small web application (just a servlet filter) which
> references Apache Commons Codec. This project uses Scala. When build with
> Scala 2.9 it deploys to Geronimo and runs.  When build with Scala 2.10 it
> does not deploy.  However, both versions happily deploy and run under
> Tomcat 7.
>
>  The exception is:
>
>  ERROR [[/hello]] Exception starting filter MyFilter
> java.lang.NoClassDefFoundError: org/apache/commons/codec/binary/BaseNCodec
>  at java.lang.Class.forName0(Native Method)
>  at java.lang.Class.forName(Class.java:266)
>  at org.apache.xbean.recipe.RecipeHelper.loadClass(RecipeHelper.java:52)
>  at org.apache.xbean.recipe.ObjectRecipe.getType(ObjectRecipe.java:353)
>  at
> org.apache.xbean.recipe.ObjectRecipe.internalCreate(ObjectRecipe.java:266)
>  at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:96)
>  at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:61)
>  at
> org.apache.geronimo.j2ee.annotation.Holder.newInstance(Holder.java:180)
>  at
> org.apache.geronimo.tomcat.TomcatInstanceManager.newInstance(TomcatInstanceManager.java:64)
>
>  I've put the project on github with details of steps to reproduce and
> the full stack trace and WAR contents:
>
>  https://github.com/d6y/geronimo_codec
>
>  Any suggestions for how I can resolve this one?
>
>  Thanks
> Richard
>
>
>


-- 
Shawn

Reply via email to