Есть ли способ запретить запуск jar, но разрешить запускать его только с помощью программы запуска (.exe)?

#java #jar #exe #wrapper #launcher

#java #jar #exe #оболочка #launcher

Вопрос:

у меня есть небольшое Java-приложение с графическим интерфейсом swing, и я создал лаунчер (.exe) с помощью launch4j.

Поскольку я не хочу, чтобы jar был включен в программу запуска, я установил флажок «Не оборачивать jar, запускать только».

Поэтому маленький exe-файл выполнит мой jar. Но я не хочу, чтобы пользователь запускал мой jar через командную строку или в любом другом случае.

есть ли способ запретить запуск моей jar?

с уважением, Nur1

Ответ №1:

Попросите лаунчер отправить специальный аргумент командной строки, который будет считан методом main() вашего файла JAR при запуске. Проверьте наличие этого аргумента запуска в вашем методе main() файла JAR при запуске, и если этот аргумент недействителен или просто отсутствует …. выдайте a: System.exit(0); или что-то еще.

Ответ №2:

Launch4j <cmdLine> Optional, constant command line arguments. позволяет передавать некоторые аргументы main методу приложения для его запуска. таким образом, вы можете передать некоторые аргументы через Launch4j jar файл to и проверить этот параметр и запретить запуск из командной строки.

Комментарии:

1. Я прочитал как ваш, так и @DevilsHnd ответ. На самом деле это хорошая идея для этого. Спасибо. Я думаю, что для защиты запуска я создам что-то вроде хэша, созданного из некоторых файлов.