На мой взгляд, лучше всего предоставить пакетные файлы и сценарии оболочки для запуска приложения.
Сложные сценарии проверяют переменные среды, такие как $ JAVA_HOME (% JAVA_HOME%), и используют их, если они определены, или используют значение по умолчанию.value.
Внутри скрипта вы можете построить classpath во внутренней переменной и запустить приложение со строкой, подобной
%JAVA_HOME%\bin\java.exe -cp %LIBRARIES% com.example.Main
. Я бы предпочел это решение, а не альтернативу java -jar Application.jar
, потому чтоэтот требует, чтобы вы установили classpath в манифесте jars.Поэтому развертывание приложения, которое зависит от существующих библиотек в целевой системе, довольно сложно, просто потому, что вы должны знать пути к библиотекам до того, как создадите приложение.