ALERT: Some images may not load properly within the Knowledge Base Article. If you see a broken image, please right-click and select 'Open image in a new tab'. We apologize for this inconvenience.

Jaspersoft server is not starting: nested exception is java.io.FileNotFoundException: class path resource

book

Article ID: 238460

calendar_today

Updated On:

Products

Clarity PPM On Premise

Issue/Introduction

The Jaspersoft in your Dev environment is not starting, and the <jaspersoft install folder>/logs/catalina.out shows the following error:

2022-03-29T12:44:50,025 ERROR ContextLoader,main:350 [] - Context initialization failed
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.jaspersoft.jasperserver.remote.helpers.JacksonMapperProvider]; nested exception is java.io.FileNotFoundException: class path resource [com/fasterxml/jackson/jaxrs/base/ProviderBase.class] cannot be opened because it does not exist

Cause

Missing jar file

Environment

Release : Clarity 15.9.3,16.0, 16.0.1

Component :  Jaspersoft 7.8

Resolution

To resolve this issue, first identify the missing class name in the error message.

In this case:

2022-03-29T12:44:50,025 ERROR ContextLoader,main:350 [] - Context initialization failed
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.jaspersoft.jasperserver.remote.helpers.JacksonMapperProvider]; nested exception is java.io.FileNotFoundException: class path resource [com/fasterxml/jackson/jaxrs/base/ProviderBase.class] cannot be opened because it does not exist

At a shell, switch to the Jaspersoft Tomcat folder and run this command:

find . -name '*.jar' -exec grep -Hsli ProviderBase {} \;

where "ProviderBase" is the class mentioned in the error message.

In a good working environment, it should return the name and location of jar files that have that class.

For example

[[email protected]]# find . -name '*.jar' -exec grep -Hsli ProviderBase {} \;
./ehcache-2.10.2.2.21.jar
./impala-jdbc42-2.6.15.1017.jar
./rhino-1.7.6.jar

Now run the same command in a working environment:

[[email protected]]# find . -name '*.jar' -exec grep -Hsli ProviderBase {} \;
./ehcache-2.10.2.2.21.jar
./impala-jdbc42-2.6.15.1017.jar
./jackson-jaxrs-base-2.10.0.jar
./rhino-1.7.6.jar

 

In this example the jackson-jaxrs-base-2.10.0.jar file is missing.

Copy it from the same location on a working environment and restart the Tomcat instance