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
[email protected]
https://lists.sourceforge.net/lists/listinfo/dspace-tech