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. >
