Error : "liquibase.servicelocator.ServiceLocator.findClasses(java.lang.Class) of a null object returned from liquibase.servicelocator.ServiceLocator.getInstance()"

Symptom 

When launching a 360Eyes CMS job, the following error is received:
Error during the job launch: java.lang.RuntimeException: java.lang.NullPointerException: while trying to invoke the method liquibase.servicelocator.ServiceLocator.findClasses(java.lang.Class) of a null object returned from liquibase.servicelocator.ServiceLocator.getInstance()

Environment

  • 360Eyes 2020.3 and later versions
  • SAP BusinessObjects Business Intelligence 4.2 SP3

Cause

360eyes is using internally a tool, Liquibase, to manage the database schema. This tool is having issue combined with some SAP Business Objects versions, because of a damaged jar file in the Business Objects SDK.

Resolution

Instead of directly using the BOBJ SDK path, use a a copy of the BOBJ SDK path:
  1. Locate the BOBJ SDK path (C:\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\java\lib\ by default)
  2. Copy the content of the folder to a folder under your 360eyes folder, like C:\360eyes\bobj_sdk\
  3. Modify the 360eyes_GUI_BI4.bat:
  1. java -Xmx1024m -cp "C:\360eyes\bobj_sdk\*;360eyes.jar" com.gbs.eyes.LauncherGui
If you run jobs via CMC, modify the classpath of each job to C:\360eyes\bobj_sdk\*

Keywords

liquibase, servicelocator, classpath

Product

Product or Product version

  • 360Eyes

Languages

  • English 

Last updated almost 2 years ago