Я пытаюсь настроить платформу Protractor, используя пакетный скрипт. Я написал пакетный скрипт для загрузки и установки Node.js и назвал его, скажем, "prereq.bat"
set NODEJS_FILENAME=node-v10.15.0-x64.msi
set NODEJS_URL=https://nodejs.org/dist/latest-v10.x/%NODEJS_FILENAME%
set NODEJS_DOWNLOAD_LOCATION=C:\
powershell -NoExit -Command "(New-Object Net.WebClient).DownloadFile('%NODEJS_URL%', '%NODEJS_DOWNLOAD_LOCATION%%NODEJS_FILENAME%'); exit;"
msiexec /qn /l* C:\node-log.txt /i %NODEJS_DOWNLOAD_LOCATION%%NODEJS_FILENAME%
exit
Мой второй пакетный файл "config.bat" - это место, где я помещаю все команды npm для настройки транспортира и других необходимых библиотек
npm install -g protractor && npm install protractor-beautiful-reporter && npm install js-yaml && webdriver-manager update
Я создал простой инструмент JAVA GUI с кнопкой «Настройка». При щелчке два пакетных файла вызываются с использованием двух отдельных «Runtime.getRuntime (). Exec ()».
в коде JAVA файлы bat выполняются с использованием следующих команд:
"cmd /c start "prereq.bat";
"cmd /c start "config.bat";
Проблема:
Когда я выполняю полное решение из Eclipse IDE, все работает нормально. Узел установлен, а затем транспортир настроен,
Но когда я экспортирую проект как исполняемый файл jar и пытаюсь выполнить его, Node успешно устанавливается, но при вызове второго пакета «config.bat» я получаю сообщение об ошибке «npm не распознан»
Решение, которое я попробовал:
в коде я использовал метод Process.waitFor (), чтобы второй пакет вызывался только тогда, когда первые пакетные команды выполняются успешно. Тем не менее, получаю ту же ошибку.
ценю любую помощь.