3

Spring-Boot+JSF app using Primefaces and JoinFaces starter with embedded Tomcat in a runnable WAR. I actually have two web apps using this stack, and both are exhibiting the same issue.

During startup or deployment, it looks like something is scanning every file in the WAR, trying to read class files. It finds a bunch of non-class files, and I see errors in the log as those files are scanned.

I see lots of repeated error messages, coming from TypeAnnotationScanner and SubTypeScanner:

2019-04-15 11:03:49,287 [localhost-startStop-1] DEBUG org.reflections.Reflections - could not scan file META-INF/resources/primefaces-extensions/documentviewer/locale/bs.locale.txt in url jar:file:/C:/Users/my.name/.gradle/caches/modules-2/files-2.1/org.primefaces.extensions/primefaces-extensions/6.2.4/37d4674a246d7a0c15255f7a9296c41e3a39b1b1/primefaces-extensions-6.2.4.jar!/ with scanner SubTypesScanner
org.reflections.ReflectionsException: could not create class object from file META-INF/resources/primefaces-extensions/documentviewer/locale/bs.locale.txt
    at org.reflections.scanners.AbstractScanner.scan(AbstractScanner.java:32)
    at org.reflections.Reflections.scan(Reflections.java:253)
    at org.reflections.Reflections.scan(Reflections.java:202)
    at org.reflections.Reflections.<init>(Reflections.java:123)
    at org.joinfaces.autoconfigure.servlet.initializer.JsfClassFactory.computeClasses(JsfClassFactory.java:180)
    at org.joinfaces.autoconfigure.servlet.initializer.JsfClassFactory.getAnnotatedClassMap(JsfClassFactory.java:152)
    at org.joinfaces.autoconfigure.servlet.initializer.JsfClassFactory.getAnnotatedClasses(JsfClassFactory.java:210)
    at org.joinfaces.autoconfigure.servlet.initializer.JsfClassFactory.getAllClasses(JsfClassFactory.java:199)
    at org.joinfaces.autoconfigure.mojarra.MojarraInitializerRegistrationBean.getClasses(MojarraInitializerRegistrationBean.java:50)
    at org.joinfaces.autoconfigure.servlet.initializer.ServletContainerInitializerRegistrationBean.lambda$customize$0(ServletContainerInitializerRegistrationBean.java:58)
    at org.springframework.boot.web.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:54)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5245)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1421)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1411)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: org.reflections.ReflectionsException: could not create class file from bs.locale.txt
    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)
    ... 18 common frames omitted
Caused by: java.io.IOException: bad magic number: 2320436f
    at javassist.bytecode.ClassFile.read(ClassFile.java:825)
    at javassist.bytecode.ClassFile.<init>(ClassFile.java:154)
    at org.reflections.adapters.JavassistAdapter.getOfCreateClassObject(JavassistAdapter.java:100)
    ... 20 common frames omitted

Any idea why this is happening?

Kukeltje
  • 12,223
  • 4
  • 24
  • 47
JCN
  • 509
  • 1
  • 11
  • 25
  • As you can see, this is a DEBUG message. Why be alarmed by debug messages? – RealSkeptic Apr 15 '19 at 17:51
  • @RealSkeptic because it spends about 2 minutes scrolling through these errors on every restart/deployment. – JCN Apr 15 '19 at 17:59
  • Then turn of debug logging.... Nothing PrimeFaces related in this. Like you stated there are many, many other files in the same debug logging... Most likely also if you create a custom jar with a text file in it... Same debug logging. – Kukeltje Apr 15 '19 at 20:24
  • Yes, the answer is to change the log level, at least for the loggers of the libraries, to info. – RealSkeptic Apr 15 '19 at 22:58
  • OK, I'll do that. I'm unused to seeing stack traces as something to ignore, and it looks like newer versions of Joinfaces give you some configurability around the scanning, so I was thinking there might be a better best practice. – JCN Apr 16 '19 at 18:52
  • Hi, hope you found the reason. Could you please let me know how did you solve it? I face the same exact error with jsf mojarra and Spring-boot. – user3028989 Nov 25 '19 at 17:14

0 Answers0