Erreur : impossible de trouver ou charger la classe principale .data.opt.BonitaSubscription-7.10.4.tools.bonita-purge-tool.lib.bonita-purge-tool.jar

Bonjour,

J'ai récemment installé et paramétré Bonita-Purge-Tool-1.0.3 sur notre environnement de dév et je rencontre l'erreur suivante lors de l'exécution :
Erreur : impossible de trouver ou charger la classe principale .data.opt.BonitaSubscription-7.10.4.tools.bonita-purge-tool.lib.bonita-purge-tool.jar

Ce problème ne se produit pas sur tous mes environnements et je n'arrive pas à expliquer pourquoi. 

En creusant, j'ai trouvé comment contourner cette erreur : 
Dans le script, j'ai modifié la ligne suivante : 
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $BONITA_PURGE_TOOL_OPTS -Dspring.config.location=$APP_HOME/ -classpath "$APP_HOME/lib/*"  -jar "\"$JARPATH\"" "$APP_ARGS"

En ajoutant des doubles quotes anti-slashs comme suit : 
-classpath "\"$APP_HOME/lib/*\""

Est-ce que c'est un bug ? Pourquoi je n'ai pas le même problème sur tous mes env ?

Mon environment: 

  •  Bonita 7.10.4 , Le purge tool a été dézippé dans /data/opt/BonitaSubscription-7.10.4/tools/
  • java -version
    java version "1.8.0_191"
    Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
    Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
  • cat /etc/centos-release 
    CentOS release 6.10 (Final)
  • En tant que root je me suis placé dans /data/opt/BonitaSubscription-7.10.4/tools/bonita-purge-tool
    Puis exécution de la commande : bin/bonita-purge-tool PROCESS_DEFINITION_ID OLDEST_DATE_TIMESTAMP


Merci 

Bonjour,

Nous n'avons pas connaissance de ce problème. Nous ne savons pas comment le reproduire.

Je ne parviens pas non plus à expliquer le caractère "aléatoire" de ce problème. Il nous faudrait réussir à le reproduire pour déterminer la cause. Si c'est lié à l'environnement CentOS nous n'avons pas pu le reproduire.

En revanche, je comprends la solution de contournement, j'ai pu la tester et effectivement, avec les double-cotes supplémentaires, le script marche bien. Il me semble assez sûr d'appliquer cette solution dans une prochaine version.

Merci de votre retour.

Cordialement,

Emmanuel