Как запустить JAR-файлы последовательно из сценария оболочки - PullRequest
0 голосов
/ 13 марта 2020

Я пытаюсь запустить два java приложения одно за другим в моем docker контейнере. В моем dockerfile я указал invoker. sh в качестве точки входа.

ENTRYPOINT ["sh", "/opt/invoker.sh"]

Затем я использую этот скрипт для запуска двух jar-файлов.

#!/bin/sh
java -jar loader.jar
java -jar service.jar

но это не работает Это дает

Ошибка: невозможно получить доступ к jarfile javaimpl-loader.jar

, и выполняется только файл service.jar. Когда я попробовал echo $(ls), это показывает, что оба jar-файла есть.

, но если я изменил сценарий на

#!/bin/sh
echo $(java -jar loader.jar)
java -jar service.jar

, то оба jar-файла работают. Почему я не могу использовать 1-й сценарий. любая помощь в отношении этого высоко ценится.

1 Ответ

1 голос
/ 13 марта 2020

Похоже, что первый пример рассматривается как одна строка, вы можете работать с этим. Также я бы предпочел от bash до /bin/sh. Мол,

#!/usr/bin/env bash
java -jar loader.jar && java -jar service.jar
...