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
Javascript 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
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.
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"); }
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
Partager