java.lang.NoClassDefFoundError: org/togglz/spring/spi/AbstractSpringBeanFinder

249 views
Skip to first unread message

Jeff Petit

unread,
Feb 13, 2018, 7:24:37 PM2/13/18
to togglz-users
Hi,

I am brand new to togglz and trying to do a POC for feature flagging.  Implementing in a webservice running on weblogic using spring, so added the following dependencies:

<!-- Togglz dependencies -->
<dependency>
<groupId>org.togglz</groupId>
<artifactId>togglz-core</artifactId>
<version>2.5.0.Final</version>
</dependency>

<dependency>
<groupId>org.togglz</groupId>
<artifactId>togglz-spring-web</artifactId>
<version>2.5.0.Final</version>
</dependency>

Have implemented Feature enum and TogglzConfig:

public enum Features implements Feature {

  TS_1234,
  TS_2345,
  TS_3456;

  public boolean isActive() {
    return FeatureContext.getFeatureManager().isActive(this);
  }
}

_________________________________________________________

@Component
public class FeaturesConfiguration implements TogglzConfig {

  public Class<? extends Feature> getFeatureClass() {
    return Features.class;
  }

  public StateRepository getStateRepository() {
    return new FileBasedStateRepository(new File("/resources/features.properties"));
  }

  public UserProvider getUserProvider() {
    return new ThreadLocalUserProvider();
  }
}

And getting NoClassDefFoundError when calling Feature.isActive().  Don't think I'm missing a dependency, any thought on what I am doing wrong?

Thanks,
Jeff

java.lang.NoClassDefFoundError: org/togglz/spring/spi/AbstractSpringBeanFinder
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
	at weblogic.utils.classloaders.GenericClassLoader.defineClassInternal(GenericClassLoader.java:1110)
	at weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:1043)
	at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:1035)
	at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:987)
	at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:83)
	at weblogic.utils.classloaders.GenericClassLoader.doFindClass(GenericClassLoader.java:608)
	at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:540)
	at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:493)
	at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:470)
	at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:53)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:348)
	at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:370)
	at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
	at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
	at org.togglz.core.context.BeanFinderFeatureManagerProvider.getFeatureManager(BeanFinderFeatureManagerProvider.java:37)
	at org.togglz.core.context.FeatureContext.findFeatureManagerInClassLoader(FeatureContext.java:108)
	at org.togglz.core.context.FeatureContext.getFeatureManagerOrNull(FeatureContext.java:74)
	at org.togglz.core.context.FeatureContext.getFeatureManager(FeatureContext.java:47) 
at com.xxxxxxxx.common.feature.Features.isActive(Features.java:13) 

Christian Kaltepoth

unread,
Feb 14, 2018, 2:57:12 AM2/14/18
to togglz...@googlegroups.com
The "togglz-spring-web" module depends on "togglz-spring-core" which contains this class. could you check if this dependency is included in your deployment archive?

But this error could also be caused by some packing issue. Are you deploying your app as an EAR archive?

Christian
Reply all
Reply to author
Forward
0 new messages