Error: java.lang.NoClassDefFoundError when running java from NodeJs
Error: java.lang.NoClassDefFoundError when running java from NodeJs
我正在尝试从 nodeJs 执行一个 jar 文件,我一直在使用 child_proces.exec 和 child_process.spawn。在这两种情况下,我都收到此错误:
错误:线程异常 "main"
错误:java.lang.NoClassDefFoundError:com/ftdi/FTDevice
我正在使用 ubuntu 14.04,安装了 java、jdk 等。
这是我的代码:
使用 exec:
var exeprocess = exec('java -Djava.library.path=./ftd2xx.so -jar DenkoviRelayCommandLineTool_10.jar DAE000dY 4 2 1');
使用生成:
var proc = spawn('java',
[ '-jar',
'-Djava.library.path=./ftd2xx.so',
'DenkoviRelayCommandLineTool_10.jar',
'DAE000dY ','4','2','1'
]);
我发现这两种情况都无法在 ft2xx.so 中找到 类,但为什么呢?
b.t.w:仔细检查 command/locations 是否正确并且完全相同的脚本在终端
中完美运行
您需要将 -classpath <path of jar>/JavaFTD2XX-0.2.5.jar
添加到您的 exec 或 spawn 以避免 NoClassDefFoundError。
我正在尝试从 nodeJs 执行一个 jar 文件,我一直在使用 child_proces.exec 和 child_process.spawn。在这两种情况下,我都收到此错误: 错误:线程异常 "main" 错误:java.lang.NoClassDefFoundError:com/ftdi/FTDevice
我正在使用 ubuntu 14.04,安装了 java、jdk 等。
这是我的代码:
使用 exec:
var exeprocess = exec('java -Djava.library.path=./ftd2xx.so -jar DenkoviRelayCommandLineTool_10.jar DAE000dY 4 2 1');
使用生成:
var proc = spawn('java',
[ '-jar',
'-Djava.library.path=./ftd2xx.so',
'DenkoviRelayCommandLineTool_10.jar',
'DAE000dY ','4','2','1'
]);
我发现这两种情况都无法在 ft2xx.so 中找到 类,但为什么呢? b.t.w:仔细检查 command/locations 是否正确并且完全相同的脚本在终端
中完美运行您需要将 -classpath <path of jar>/JavaFTD2XX-0.2.5.jar
添加到您的 exec 或 spawn 以避免 NoClassDefFoundError。