More information, although, I am confused why I alone would be having this problem with 4.1.3?
There is no ClassFabUtils in tapestry 4.1.3, it uses a ClassFabUtils in hivemind. The tapestry 5.x went with a embedded ClassFabUtils. I went into the hivemind svn repo, and do not see a tag or release called "1.1.1" (the version that tapestry uses). I did pull down a 1.1-rc1 and it does contain the following method in ClassFabUtils: public static String getJavaClassName(Class inputClass) { if (inputClass.isArray()) return getJavaClassName(inputClass.getComponentType()) + "[]"; return inputClass.getName(); } This is the method that was patched in the bug listed below: https://issues.apache.org/jira/browse/TAPESTRY-1423 1) commit change to hivemind ClassFabUtils My opinion is that this is an inappropriate patch for hivemind. We can't be committing code to have hivemind looking for an offset of the "$" to return a class instance (or can we?) this seems specific to tapestry. 2) commit change to hivemind ClassFabUtils and run "special" copy of hivemind for tapestry (ugh!) 3) change tapestry 4.1.3 to use embedded ClassFabUtils like tapestry 5.x I would appreciate hearing that I have been working too much and forgot to put something in the classpath.... Phillip ----- Original Message ----- From: "Phillip Rhodes" <[EMAIL PROTECTED]> To: "Tapestry users" <users@tapestry.apache.org> Sent: Wednesday, December 19, 2007 12:42:09 PM (GMT-0500) America/New_York Subject: backport 5.0.5 fix to 4.1.3? Hi. I believe the same issue reported on tapestry 5.0.4 is happening in tapestry 4.1.3 https://issues.apache.org/jira/browse/TAPESTRY-1423 Can someone backport this to 4.1.3? Thank you. Basically, my app stops running and crashes with javassist no such class errors: ... 100 more Caused by: compile error: no such class: $Border_462 at javassist.compiler.MemberResolver.searchImports(MemberResolver.java:416) at javassist.compiler.MemberResolver.lookupClass(MemberResolver.java:392) at javassist.compiler.MemberResolver.lookupClassByName(MemberResolver.java:306) at javassist.compiler.MemberResolver.resolveClassName(MemberResolver.java:450) at javassist.compiler.TypeChecker.resolveClassName(TypeChecker.java:131) at javassist.compiler.TypeChecker.atCastExpr(TypeChecker.java:545) at javassist.compiler.JvstTypeChecker.atCastExpr(JvstTypeChecker.java:103) at javassist.compiler.ast.CastExpr.accept(CastExpr.java:54) at javassist.compiler.TypeChecker.atCallExpr(TypeChecker.java:653) at javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:156) at javassist.compiler.ast.CallExpr.accept(CallExpr.java:45) at javassist.compiler.CodeGen.doTypeCheck(CodeGen.java:235) at javassist.compiler.CodeGen.compileExpr(CodeGen.java:222) at javassist.compiler.CodeGen.atReturnStmnt2(CodeGen.java:591) at javassist.compiler.JvstCodeGen.atReturnStmnt(JvstCodeGen.java:424) at javassist.compiler.CodeGen.atStmnt(CodeGen.java:356) at javassist.compiler.ast.Stmnt.accept(Stmnt.java:49) at javassist.compiler.CodeGen.atStmnt(CodeGen.java:344) at javassist.compiler.ast.Stmnt.accept(Stmnt.java:49) at javassist.compiler.CodeGen.atMethodBody(CodeGen.java:285) at javassist.compiler.Javac.compileBody(Javac.java:212) at javassist.CtBehavior.setBody(CtBehavior.java:341) --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]