Details

Description

When running on mustang, the arg tag does throws a ClassNotFoundException [1]. This is due to a change in the ClassLoader#loadClass() implementation [2]. The tag should be fixed to use the three-argument Class.forName method as specified in the bug description.

"ClassLoader.loadClass instance method, which does not (necessarily) support loading array classes, instead of using the static three-argument Class.forName method (like ObjectInputStream's own implementation of resolveClass uses). The Class.forName methods do support loading array classes using the same array class name syntax returned by Class.getName"

[1] java.lang.ClassNotFoundException: [Ljava.lang.Object;
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at org.apache.commons.jelly.tags.core.ArgTag.doTag(ArgTag.java:101)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:250)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:186)
at org.apache.commons.jelly.tags.core.InvokeStaticTag.doTag(InvokeStaticTag.java:120)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:250)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
...[2]http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6446627