Roller's 2.3 release included package name changes, and a minor infrastructure change that cause JCaptcha integration to fail. Two classes need minor patches to fix it. I've outlined the patch here:
http://www.coachthrasher.com/roller/page/blog?entry=roller_2_3_upgrade_notes but figure JIRA is the proper place for this info. So...
The old Roller package name is:
org.roller.*
The new, Apache incubator name is:
org.apache.roller.*
edit:
com.octo.captcha.module.roller.JCaptchaCommentAuthenticator.java
change this:
String challengeUrl = context.get("ctxPath") + "/jcaptcha.do";
to this:
String challengeUrl = org.apache.roller.presentation.RollerContext.getRollerContext().getAbsoluteContextUrl() + "/jcaptcha.do";
and update imports as needed to reflect the org.apache.roller package name
edit:
com.octo.captcha.service.captchastore.EhcacheCaptchaStore.java
change this (line 163):
} catch (IOException e) {
to this:
} catch (Exception e) {
to fix a compile error... actually, that was my hack and the proper exception should be caught, if any.
Last, the documentation needs to be updated here:
http://forge.octo.com/jcaptcha/confluence/display/general/JRoller+installation
Instead of editing the web.xml file, Roller 2.3 users need to create this:
WEB-INF/classes/roller-custom.properties
with this line:
comment.authenticator.classname=com.octo.captcha.module.roller.JCaptchaCommentAuthenticator