Announcing the Saviynt Knowledge Exchange unifying the Saviynt forums, documentation, training,
and more in a single search tool across platforms. Read the announcement here.

Invoking Job for External JAR is failing due to JavaClassNotFound exception

FabianaS
New Contributor III
New Contributor III

Hello.

I'm trying to run an External JAR that I have uploaded on Saviynt. 

Jar name is Dynasty.jar.

When I'm configuring the job that triggers the jar, I'm filling the fields as follow:

FabianaS_0-1720459387907.png

This is the name of the package (com.custom.dynasty) and the class (Main) in my JAR:

FabianaS_1-1720459462889.png

and also the method (main).

Can you please confirm that this configuration should work?

When I run the job, it is failing, giving me following logs:

 

2024-07-08T19:26:29+02:00-ecm-worker--null-8zmd7--and qt.JOB_GROUP = qft.JOB_GROUP and qft.JOB_NAME='ExternalJarJob'
 
2024-07-08T19:26:29+02:00-ecm-worker--null-8zmd7--java.lang.ClassNotFoundException: com_custom_dynasty_Main at java.lang.Class.forName(Class.java:348) at ExternalJarJob.execute(ExternalJarJob.groovy:75) at org.quartz.core.JobRunShell.run(JobRunShell.java:199) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:546)
 
2024-07-08T19:26:29+02:00-ecm-worker-jobs.ExternalJarJob-quartzScheduler_Worker-6-8zmd7-DEBUG-END ExternalJarJob
 
2024-07-08T19:26:24+02:00-ecm-domain.JobcontrolController-http-nio-8080-exec-77-5brb2-DEBUG-qry = SELECT il.IMPORTLOGID as IMPORTLOGID,il.logDataAsXML as logDataAsXML,ecmimp.jobid as jobID,ecmimp.jobname as JOBNAME,ecmimp.jobStartDate as JOBSTARTDATE,ecmimp.coments as COMMENTS,ecmimp.jobEndDate as JOBENDDATE,il.filename as FILENAME,ecmimp.SAVRESPONSE as SAVRESPONSE,ecmimp.systemName as SYSTEMNAME,ecmimp.externalconnection as EXTERNALCONNECTION,ecmimp.updateUser as UPDATEUSER,ecmimp.triggername as TRIGGERNAME,ecmimp.jobgroup as JOBGROUP,ecmimp.triggerType as TRIGGERTYPE FROM EcmImportJob ecmimp left join ImportLog il on(ecmimp.jobid=il.jobid) where 1=1 AND (ecmimp.jobname = 'ExternalJarJob' OR ecmimp.jobname ='EXTERNALJARJOB' ) AND ecmimp.triggername = 'DynastyGroupCreation' AND ecmimp.jobgroup = 'utility' ORDER BY ecmimp.jobid DESC limit 0,15
 
2024-07-08T19:26:24+02:00-ecm-domain.JobcontrolController-http-nio-8080-exec-77-5brb2-DEBUG-extraQry = AND (ecmimp.jobname = 'ExternalJarJob' OR ecmimp.jobname ='EXTERNALJARJOB' ) AND ecmimp.triggername = 'DynastyGroupCreation' AND ecmimp.jobgroup = 'utility'

Thanks

7 REPLIES 7

rushikeshvartak
All-Star
All-Star
  • Did you restarted system,
  • for first time you need to restart from backend (Raise Support ticket to restart all pods)

Regards,
Rushikesh Vartak
If you find this response useful, kindly consider selecting 'Accept As Solution' and clicking on the 'Kudos' button.

Hello,

yes I've already performed the restart after uploading the JAR

Is it performed from server. Please raise support ticket to restart all pods


Regards,
Rushikesh Vartak
If you find this response useful, kindly consider selecting 'Accept As Solution' and clicking on the 'Kudos' button.

Yes it was performed from server side as our deployment is not a standard one (cloud), but an On Prem version customized for the Client. Our infrastructure team has access to the pods and it is possible for us to hard restart the application by our own. 


Could you confirm from your knowledge that the configuration of the job (name of class, name of method etc) seems correct comparing them to the Java code I shared?

Package name is wrong it should be com.custom.dynasty


Regards,
Rushikesh Vartak
If you find this response useful, kindly consider selecting 'Accept As Solution' and clicking on the 'Kudos' button.

Hello,

I tried with "com.custom.dynasty" but still the job is failing

method should be Main


Regards,
Rushikesh Vartak
If you find this response useful, kindly consider selecting 'Accept As Solution' and clicking on the 'Kudos' button.