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