Hello,

I'm trying to create a new authentication plugin, but I'm having
issues. DSpace correctly builds the module, but PluginManager can't
load it (ClassNotFoundException). I suspected a classpath issue, but
the module is built in the same directory as the other modules.

cd ~/svn/dspace-1.8.2/dspace-api/src/main/java/org/dspace/authenticate
cp cp PasswordAuthentication.java MyAuth.java

Then, in MyAuth.java I change 2 lines:
-public class PasswordAuthentication
+public class MyAuth

-    private static Logger log = Logger.getLogger(PasswordAuthentication.class);
+    private static Logger log = Logger.getLogger(MyAuth.class);

cd ~/svn/dspace-1.8.2
mvn package
ant update

My /dspace/config/modules/authentication.cfg says:
plugin.sequence.org.dspace.authenticate.AuthenticationMethod = \
        org.dspace.authenticate.MyAuth

dspace.log:

2012-04-10 11:19:06,871 ERROR
org.dspace.app.xmlui.cocoon.DSpaceCocoonServletFilter @ Serious Error
Occurred Processing Request!
javax.servlet.ServletException: Servlet execution threw an exception
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:313)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.dspace.app.xmlui.cocoon.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111)
...
Caused by: java.lang.ExceptionInInitializerError
        at 
org.dspace.app.xmlui.utils.ContextUtil.obtainContext(ContextUtil.java:98)
        at 
org.dspace.app.xmlui.utils.ContextUtil.obtainContext(ContextUtil.java:54)
        at 
org.dspace.app.xmlui.aspect.general.AuthenticatedSelector.select(AuthenticatedSelector.java:67)
...
Caused by: org.dspace.core.PluginInstantiationException: Cannot load
plugin class: java.lang.ClassNotFoundException:
org.dspace.authenticate.MyAuth
        at 
org.dspace.core.PluginManager.getAnonymousPlugin(PluginManager.java:253)
        at 
org.dspace.core.PluginManager.getPluginSequence(PluginManager.java:219)
        at 
org.dspace.authenticate.AuthenticationManager.<clinit>(AuthenticationManager.java:51)
        ... 169 more
Caused by: java.lang.ClassNotFoundException: org.dspace.authenticate.MyAuth
        at 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
        at 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:334)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:186)
        at 
org.dspace.core.PluginManager.getAnonymousPlugin(PluginManager.java:235)
        ... 171 more


When I look inside /dspace/lib/dspace-api-1.8.2.jar, I can see MyAuth.class
Does anyone have any advice?

Regards,
~~helix84

------------------------------------------------------------------------------
Better than sec? Nothing is better than sec when it comes to
monitoring Big Data applications. Try Boundary one-second 
resolution app monitoring today. Free.
http://p.sf.net/sfu/Boundary-dev2dev
_______________________________________________
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech

Reply via email to