Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Addition of toString() method to document class results in it not being located #35

Closed
starksm64 opened this issue May 3, 2020 · 1 comment

Comments

@starksm64
Copy link

I have a document class that was not being picked up during the JsonDBTemplate initialize phase. After stripping it down to determine what might be causing it, I found that just the inclusion of the public String toString()... method in the class was causing it to not be recognized as a valid collection. I have not looked into why that is.

@starksm64
Copy link
Author

I did track it down to this problem:

org.reflections.ReflectionsException: could not create class file from SymbolInfo.class
	at org.reflections.adapters.JavassistAdapter.getOfCreateClassObject(JavassistAdapter.java:102)
	at org.reflections.adapters.JavassistAdapter.getOfCreateClassObject(JavassistAdapter.java:24)
	at org.reflections.scanners.AbstractScanner.scan(AbstractScanner.java:30)
	at org.reflections.Reflections.scan(Reflections.java:250)
	at org.reflections.Reflections.scan(Reflections.java:204)
	at org.reflections.Reflections.<init>(Reflections.java:129)
	at org.reflections.Reflections.<init>(Reflections.java:170)
	at org.reflections.Reflections.<init>(Reflections.java:143)
	at io.jsondb.CollectionMetaData.builder(CollectionMetaData.java:229)
	at io.jsondb.JsonDBTemplate.initialize(JsonDBTemplate.java:122)
	at io.jsondb.JsonDBTemplate.<init>(JsonDBTemplate.java:102)
	at io.jsondb.JsonDBTemplate.<init>(JsonDBTemplate.java:82)
	at data.jsondb.TestIO.testReadSymbolInfos(TestIO.java:41)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
	at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
	at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)
	at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)
Caused by: java.io.IOException: invalid constant type: 18
	at javassist.bytecode.ConstPool.readOne(ConstPool.java:1090)
	at javassist.bytecode.ConstPool.read(ConstPool.java:1033)
	at javassist.bytecode.ConstPool.<init>(ConstPool.java:149)
	at javassist.bytecode.ClassFile.read(ClassFile.java:764)
	at javassist.bytecode.ClassFile.<init>(ClassFile.java:108)
	at org.reflections.adapters.JavassistAdapter.getOfCreateClassObject(JavassistAdapter.java:100)
	... 34 more

This is due to an older version of javassist being included by a parent project. Updating javassist fixed the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant