Подтвердить что ты не робот

Запуск приложения Java как службы

Я хотел бы запустить Java-приложение как службу. К сожалению, я ограничен тем, что не могу использовать что-то вроде Java Service Wrapper (который, кажется, отличный инструмент).

Есть ли способ запуска исполняемого JAR как службы, не полагаясь на внешние приложения? В настоящее время у меня установлена ​​служба, но она не запускается. Здесь я застрял, и я не смог найти что-либо в Google, кроме информации о JSW.

4b9b3361

Ответ 1

Там есть клоун LGPL для Java Service Wrapper: http://yajsw.sourceforge.net

BTW, IANAL, но я подозреваю, что люди JSW распространяют FUD, и их программное обеспечение может использоваться для предоставления разрешений для коммерческих приложений под лицензией GPL, так же как можно использовать коммерческое приложение для перераспределения. Я мог бы ошибаться в этом, хотя:)

Ответ 3

Программа, которая должна работать как служба Windows, должна предоставлять определенные функции, которые диспетчер служб Windows использует для связи с этой службой.

Пока JVM не реализует эти функции напрямую (и я не знаю ни одного), вам понадобится какая-то оболочка.

Я успешно использовал srvany для службы окон на основе java (в основном это позволяет запускать любую программу в качестве службы Windows, и она отлично работает с java )

Ответ 4

Я еще не пробовал (но), но Launch4j выглядит так, как будто он может удовлетворить ваши потребности.

Ответ 5

еще один вариант winrun4j. лицензия Eclipse CPL.

Ответ 6

Вы можете использовать NSSM следующим образом:

nssm install MyService "%JAVA_HOME%\bin\java.exe" -jar "path\to\the\file.jar"

Ответ 7

Самый простой способ, который я нашел, - RunAsService.

Сотрудник рекомендовал инструмент SC, но я не пробовал его.

Ответ 8

JSmooth может это сделать, и он доступен для сценариев с ant.