Fat Jar для реализации языкового сервера
Я пытаюсь построить языковой сервер, который будет реализован как коляска для затмения че. Я создал толстую банку из созданного мной языкового сервера xtext. Могу ли я использовать этот толстый jar для реализации моего языкового сервера в файле docker для запуска моего языкового сервера в качестве контейнера?
Я написал Dockerfile, как показано ниже:
FROM barais/eclipse-xtend
ADD build/libs/dsl-language-server-ls.jar dsl-language-server-ls.jar
RUN sudo apt-get install socat
CMD socat TCP4-LISTEN:4417,reuseaddr,fork EXEC:"mydsl"
"dsl-language-server-ls.jar" - это файл jar, созданный при сборке моего проекта (т. е. LS). У меня вопрос, могу ли я запустить свой языковой сервер, включив файл.jar, как в приведенном выше файле dockerfile? На самом деле это сработало в eclipse che, но я все еще получаю ошибку сломанной трубы и ошибку тайм-аута, которая заставляет меня сомневаться в моем подходе.
Ошибка инициализации языкового сервера
Это ошибка, которую я получаю.
1 ответ
Это будет работать, только если вы правильно упакуете свой образ докера
- убедитесь, что вы включаете Java 8
- убедитесь, что вы включаете не только jar, но и сценарии запуска из каталога сборки
- или вы просто позвоните
java -jar yourjar.jar
вместоmydsl
скрипт запуска