Windows: создайте сервис для запуска исполняемого jar без каких-либо внешних библиотек
У меня есть исполняемый JAR-файл весенней загрузки, который можно запустить в любой командной строке, вызвав java -jar filename.jar
,
Я хочу создать сервис без загрузки любых внешних библиотек для приведенного выше фрагмента кода.
Помоги мне, если есть прямой путь вперед.
1 ответ
Я хочу создать сервис без скачивания любых внешних библиотек
Нет.
Служба Windows по определению является собственным двоичным файлом.
Существует двоичный файл svchost.exe, обозначающий "Service Host", который может содержать несколько общих служб Microsoft, но вы не можете предоставить к ним доступ третьим сторонним службам. Это не поддерживается Основная причина заключается в том, что сбой или дефект в одной службе могут повлиять на все службы в совместно используемом экземпляре svchost.exe. И никто не хочет рисковать делиться вашей странной вещью с Java с основными службами ОС в общем svchost.
[ Ссылка]
В старые дни Win2000 существовал двоичный файл "srvany.exe", но он такой старый и дряхлый, что никто не должен использовать его в 2017 году.
Простой поиск в Google говорит мне, что существует такая вещь, как "Java Service Wrapper" или другая вещь, называемая "Non-Sucking Service Wrapper"... но они оба являются отдельными сторонними двоичными файлами, которые не являются частью Windows и определенно не являются поддерживается Microsoft, поэтому ответ на ваш вопрос по-прежнему "Нет".
Суть в том, что вам нужен собственный, не предоставленный Microsoft, процесс размещения вашего странного сервиса.