Je travaille actuellement sur l'intégration d'un moteur d'OCR ABBYY dans une application JavaScript et je rencontre un problème que je n'arrive pas à le résoudre.
Si vous pouvez m'aider ça sera très gentil.
Le script qui fait appel au moteur est écrit en JAVA dans un fichier Hello.java,

J'ai écrit un fichier de script cmd que je l'exécute depuis un code javascript.

Cmd file

Code cmd : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
    @echo off
    call SetEnv.cmd
    "%JDK%\bin\java" -classpath ".;..\..\ABBYY\inc\Java\com.abbyy.FCEngine.jar" Hello
Javascript file


Code js : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  module.exports.getFicheImpotDataFromOcr = function (req, res) {
         //run a cmd file
         var spawn = require('child_process').spawn
          , ls = spawn('cmd.exe', ['/c', 'Run.cmd']);
         ls.stdout.on('data', function (data) {
          console.log('stdout: ' + data);
          //    if (data == 'Done') console.log('OKKKKKKKK');
         });
         ls.stderr.on('data', function (data) {
          console.log('stderr: ' + data);
         });
         ls.on('exit', function (code) {
          console.log('child process exited with code ' + code);
         });
         res.send("obj");
        }
La solution s'exécute normalement, mais une fois l'intégré dans un service javascript REST, au moment de la consommation du service une exception JAVA se manifeste.
Ci-dessous l'imprime écran de l'exception

stderr: Exception in thread "main"
stderr: java.lang.NoClassDefFoundError: com/abbyy/FCEngine/Engine

stderr: at Hello.main(Hello.java:15)

stderr: Caused by: java.lang.ClassNotFoundException:
com.abbyy.FCEngine.Engine
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

stderr: at
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 more