meghanada-emacs icon indicating copy to clipboard operation
meghanada-emacs copied to clipboard

Unable To Run Unit Tests

Open tekktonic opened this issue 6 years ago • 0 comments

Lately whenever I try to run a junit test from meghanada it fails before running with this exception:

Exception in thread "main" java.lang.NoSuchMethodError: ch.qos.logback.core.util.Loader.getResources(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/util/Set;
	at ch.qos.logback.classic.util.ContextInitializer.multiplicityWarning(ContextInitializer.java:183)
	at ch.qos.logback.classic.util.ContextInitializer.statusOnResourceSearch(ContextInitializer.java:175)
	at ch.qos.logback.classic.util.ContextInitializer.getResource(ContextInitializer.java:141)
	at ch.qos.logback.classic.util.ContextInitializer.findURLOfDefaultConfigurationFile(ContextInitializer.java:125)
	at ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializer.java:148)
	at org.slf4j.impl.StaticLoggerBinder.init(StaticLoggerBinder.java:84)
	at org.slf4j.impl.StaticLoggerBinder.<clinit>(StaticLoggerBinder.java:55)
	at org.slf4j.LoggerFactory.bind(LoggerFactory.java:150)
	at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:124)
	at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:412)
	at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:357)
	at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:383)
	at jetbrains.exodus.core.execution.DefaultExceptionHandler.<clinit>(DefaultExceptionHandler.java:24)
	at jetbrains.exodus.core.execution.ThreadJobProcessorPool.getOrCreateJobProcessor(ThreadJobProcessorPool.java:74)
	at jetbrains.exodus.core.execution.SharedTimer.<clinit>(SharedTimer.java:36)
	at jetbrains.exodus.core.dataStructures.CacheHitRateable.<init>(CacheHitRateable.java:35)
	at jetbrains.exodus.core.dataStructures.ObjectCacheBase.<init>(ObjectCacheBase.java:40)
	at jetbrains.exodus.core.dataStructures.ConcurrentObjectCache.<init>(ConcurrentObjectCache.java:42)
	at jetbrains.exodus.util.StringInterner.<init>(StringInterner.kt:26)
	at jetbrains.exodus.util.StringInterner.<init>(StringInterner.kt:21)
	at jetbrains.exodus.util.StringInterner.<clinit>(StringInterner.kt:56)
	at jetbrains.exodus.util.StringHashMap.put(StringHashMap.java:34)
	at jetbrains.exodus.util.StringHashMap.put(StringHashMap.java:20)
	at jetbrains.exodus.AbstractConfig.setSetting(AbstractConfig.java:97)
	at jetbrains.exodus.env.EnvironmentConfig.setSetting(EnvironmentConfig.java:669)
	at jetbrains.exodus.env.EnvironmentConfig$1.setSetting(EnvironmentConfig.java:64)
	at jetbrains.exodus.AbstractConfig.<init>(AbstractConfig.java:75)
	at jetbrains.exodus.env.EnvironmentConfig.<init>(EnvironmentConfig.java:602)
	at jetbrains.exodus.env.EnvironmentConfig$1.<init>(EnvironmentConfig.java:64)
	at jetbrains.exodus.env.EnvironmentConfig.<clinit>(EnvironmentConfig.java:64)
	at jetbrains.exodus.env.Environments.newInstance(Environments.java:55)
	at meghanada.store.ProjectDatabase.open(ProjectDatabase.java:352)
	at meghanada.store.ProjectDatabase.<init>(ProjectDatabase.java:77)
	at meghanada.store.ProjectDatabase.getInstance(ProjectDatabase.java:99)
	at meghanada.store.ProjectDatabaseHelper.saveClassIndexes(ProjectDatabaseHelper.java:46)
	at meghanada.reflect.asm.CachedASMReflector.updateClassIndexes(CachedASMReflector.java:218)
	at meghanada.reflect.asm.CachedASMReflector.updateClassIndexFromDirectory(CachedASMReflector.java:273)
	at meghanada.reflect.asm.CachedASMReflector.createClassIndexes(CachedASMReflector.java:188)
	at meghanada.junit.TestRunner.<init>(TestRunner.java:47)
	at meghanada.junit.TestRunner.main(TestRunner.java:54)

I suspect it may be some issue with a classpath when it's being run. The tests are fine from eclipse or running mvn test -Dtest=... directly.

tekktonic avatar May 29 '19 13:05 tekktonic