0
私はTomcatサーバーを起動できるようにするための小さなツールを構築しています。電子は開いたままにしておきます。cmd.exe
かなり簡単です。ボタンをstartup.bat
に、もう1つをshutdown.bat
としてください。
これはかなりうまくいく(サーバーの起動と停止)が、完全に忍者モードでは、ログを使ってTomcatコンソールを取得することはできません。 古典的なコマンドラインからstartup.bat
を呼び出すと、内部にログを含むウィンドウが開きます。 私はexec
、execFile
、spawn
を試しました。私はbat
、cmd.exe
と直接電話してみましたが、start
も試しました。しかし、私は窓を得ることができません。
私はストリームを得ることができますが、私はそれを気にしたくありません。
また、私はちょうどWindows上のツールを使用しています、今は他のプラットフォームについて考える必要はありません。
const ipc = require('electron').ipcMain;
const execFile = require('child_process').execFile;
ipc.on('start-local-tomcat', function (event) {
execFile('cmd.exe', ['D:\\DEV\\apache-tomcat-8.0.12\\bin\\startup.bat'],
{env: {'CATALINA_HOME': 'D:\\DEV\\apache-tomcat-8.0.12'}},
function (error, stdout, stderr) {
console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);
if (error !== null) {
console.log('exec error: ' + error);
}
})
});
ipc.on('stop-local-tomcat', function (event) {
execFile('cmd.exe',['D:\\DEV\\apache-tomcat-8.0.12\\bin\\shutdown.bat'],
{env: {'CATALINA_HOME': 'D:\\DEV\\apache-tomcat-8.0.12'}},
function (error, stdout, stderr) {
console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);
if (error !== null) {
console.log('exec error: ' + error);
}
})
});