Развертывание проекта Java на клиенте в системе Linux - PullRequest
3 голосов
/ 17 октября 2011

Я разработал проект с использованием Java, и теперь я должен доставить его клиенту, использующему Linux. Кто-нибудь может сказать мне, какой формат исполняемого файла будет доставлен и как это сделать?

Ответы [ 5 ]

6 голосов
/ 17 октября 2011

Формат исполняемого файла?

Если вы поставляете приложение Java, дайте им файл jar (и связанные библиотеки).

Предоставить сценарий оболочки для настройки его среды и выполнения.

Например, если я определю ROOT_DIR как каталог установки моего приложения, и так далее:

CLASSPATH="${ADD_JARS}:${CLASSPATH}:${ROOT_DIR}/lib/myApp.jar:\
${ROOT_DIR}/lib/jibx/jibx-run.jar:\
${ROOT_DIR}/lib/jibx/xpp3.jar:\
${ROOT_DIR}/lib/bindings.jar:\
${ROOT_DIR}/lib/commons-lang-2.0.jar:\
${ROOT_DIR}/lib/forms-1.0.5.jar"
"${JAVACMD}" -Xmx256M -DanyDefsNeeded=foobar -Dbase.dir="${ROOT_DIR}" -cp "${CLASSPATH}" myApp.main.Launcher "$@"

То, что входит в сценарий оболочки, полностью зависит от того, что на самом деле нужно вашему приложению для запуска.

4 голосов
/ 17 октября 2011

банка. Если это не исполняемый файл, то скрипт (.sh) для запуска jar.

1 голос
/ 17 октября 2011

Возможно, вам повезет больше, если использовать Launch4J , IzPack или другой установщик с кроссплатформенными возможностями. Это может быть лучшим первым вариантом, чем пытаться понять тонкости и особенности различных дистрибутивов и оболочек Linux.

1 голос
/ 17 октября 2011

Если ваше приложение.имеет графический интерфейс пользователя, лучший пользовательский опыт для установки / развертывания можно получить с помощью Java Web Start .Обратите внимание, что JWS может развертывать приложения.в Windows, * nix и Mac.и избегает всех проблем обслуживания при создании 3-х отдельных (платформенно-зависимых) исполняемых файлов.

1 голос
/ 17 октября 2011

Ну, в общем, вы хотите поместить в файл .sh команды, которые вы обычно вводите на консоли, чтобы запустить файл jar.Они должны быть разделены новой строкой (т.е. каждая на отдельной строке в файле .sh).

Самое простое, что вы можете сделать, это добавить что-то вроде этого в свой файл sh:

java -Xms=64m -Xmx=256m -jar myJar.jar -classpath [dependencies dir]/dep1.jar,[dependencies dir]/dep2.jar

помимо этого вы можете делать более экзотические вещи, такие как параметризация некоторых переменных окружения, получать аргументы командной строки от момента запуска .sh и передавать их в исполняемый файл jar и т. Д. Посмотрите "bash scripting" для продвинутых вещей:

http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-2.html#ss2.1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...