Sounds like commons-beanutils.jar is not on your classpath.
Check your build tools and make sure all the dependencies are there and 
referenced correctly.
This is a generic Java build issue and is unrelated to Shiro.

> On Oct 8, 2016, at 3:58 AM, kkevinqq <[email protected]> wrote:
> 
> Update1:
> 
> When I comment out 
> # securityManager.realms=$myRealm1
> the program runs succesfully.
> 
> Then, when I try to set up a credentialsMatcher in shiro.ini, it also gives
> an error.
> 
> java.lang.ClassNotFoundException: org.apache.commons.beanutils.PropertyUtils
>       at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
>       at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>       at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>       at
> org.apache.shiro.config.ReflectionBuilder.isTypedProperty(ReflectionBuilder.java:409)
>       at
> org.apache.shiro.config.ReflectionBuilder.applyProperty(ReflectionBuilder.java:702)
>       at
> org.apache.shiro.config.ReflectionBuilder.applySingleProperty(ReflectionBuilder.java:364)
>       at
> org.apache.shiro.config.ReflectionBuilder.applyProperty(ReflectionBuilder.java:325)
>       at
> org.apache.shiro.config.ReflectionBuilder$AssignmentStatement.doExecute(ReflectionBuilder.java:955)
>       at
> org.apache.shiro.config.ReflectionBuilder$Statement.execute(ReflectionBuilder.java:887)
>       at
> org.apache.shiro.config.ReflectionBuilder$BeanConfigurationProcessor.execute(ReflectionBuilder.java:765)
>       at
> org.apache.shiro.config.ReflectionBuilder.buildObjects(ReflectionBuilder.java:260)
>       at
> org.apache.shiro.config.IniSecurityManagerFactory.buildInstances(IniSecurityManagerFactory.java:167)
>       at
> org.apache.shiro.config.IniSecurityManagerFactory.createSecurityManager(IniSecurityManagerFactory.java:130)
>       at
> org.apache.shiro.config.IniSecurityManagerFactory.createSecurityManager(IniSecurityManagerFactory.java:108)
>       at
> org.apache.shiro.config.IniSecurityManagerFactory.createInstance(IniSecurityManagerFactory.java:94)
>       at
> org.apache.shiro.config.IniSecurityManagerFactory.createInstance(IniSecurityManagerFactory.java:46)
>       at
> org.apache.shiro.config.IniFactorySupport.createInstance(IniFactorySupport.java:123)
>       at
> org.apache.shiro.util.AbstractFactory.getInstance(AbstractFactory.java:47)
>       at kchyn.auth.AuthServer.<init>(AuthServer.java:51)
>       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>       at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>       at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>       at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
>       at java.lang.Class.newInstance(Class.java:442)
>       at
> org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:119)
>       at
> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1050)
>       at
> org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:779)
>       at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)
>       at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108)
>       at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>       at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
>       at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
>       at
> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
>       at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
>       at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
>       at
> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784)
>       at
> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
>       at
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)
>       at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410)
>       at
> org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
>       at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>       at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>       at
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>       at java.lang.Thread.run(Thread.java:745)
> 
> 
> 
> Update2:
> 
> When I set realm, credentialMatcher programmatically it works, ie
> 
>               JdbcRealm realm = new SnakeyRealm();
>               MyCredentialsMatcher cm = new MyCredentialsMatcher();
>               realm.setCredentialsMatcher(cm);
>               SecurityManager securityManager = new 
> DefaultSecurityManager(realm);
>               SecurityUtils.setSecurityManager(securityManager);
> 
> I suspect the shiro.ini initialization is not finding some things correctly
> in my workspace?
> 
> I'm using eclipse, I'm not sure what other info would be useful.
> 
> 
> 
> 
> --
> View this message in context: 
> http://shiro-user.582556.n2.nabble.com/java-lang-NoClassDefFoundError-when-setting-securityManager-realms-myRealm1-tp7581314p7581315.html
> Sent from the Shiro User mailing list archive at Nabble.com.
> 

Reply via email to