Как создать установщик после завершения работы с Java Desktop Application с MySQL DB? - PullRequest
7 голосов
/ 27 мая 2011

Я закончил писать приложение Java Desktop с базой данных mySQL.Я хочу, чтобы приложение запускалось за пределами netbeans и позволяло устанавливать его на других компьютерах.Я знаю о создании проекта и создании исполняемого jar-файла, однако для этого требуется экспортировать саму базу данных на другой компьютер, на котором я хочу, чтобы приложение работало.Мой вопрос состоит из двух частей:

1) Есть ли способ, которым я могу создать установочный файл, который также устанавливает базу данных и приложение вместе?

2) Также мой путь к базе данных жестко запрограммирован,Означает ли это, что мне нужно менять код каждый раз, когда я устанавливаю приложение для кого-то, как лучше это сделать?

Спасибо

Ответы [ 3 ]

8 голосов
/ 27 мая 2011
  1. Да. Вы можете использовать какой-то сборщик настроек, например, InnoSetup. Однако лично мне нравится давать своим клиентам zip-файл, который они извлекают в любое время. Исполняемый jar-файл должен иметь возможность обрабатывать все самостоятельно (мне нравится, когда нет необходимости устанавливать программное обеспечение, просто распакуйте и запустите).
  2. Если он жестко закодирован, то да (но что вы подразумеваете под жестко закодированным ? Путь к файлу? IP-адрес?). Вы должны использовать свойства или файлы конфигурации для путей и других внешних вещей, от которых зависит ваше программное обеспечение. Программное обеспечение должно читать из этих файлов. После запуска проверьте наличие таких файлов, если они отсутствуют, пользователю должно быть показано окно, в которое можно ввести конфигурацию.

Что касается развертывания MySQL с вашим кодом - рассмотрите возможность использования сервера для этого, чтобы ваши пользователи не были вынуждены устанавливать MySQL, вместо этого они подключались к нему через сеть. Если вам нужна база данных только для локального хранения данных, почему бы не использовать SQLite или аналогичный файловый механизм БД?

Приведенные выше ответы являются всего лишь предложениями и более-менее отражают то, как я думаю. Я был бы рад услышать от кого-то с большим опытом. Тем не менее, я надеюсь, что ответы помогут немного:)

3 голосов
/ 27 мая 2011

Я согласен с печалью.

Если мне нужно использовать MySQL, он обычно находится в сети, поскольку я не хочу, чтобы мои клиенты проходили через трудности, связанные с установкой MySQL.Однако, если вы застряли с использованием MySQL локально, изучите автоматические установки MySQL + установщик NSIS.

Если вы можете использовать любой db, какой захотите, я просто использую javadb / derby.В настоящее время он поставляется в комплекте с большинством установок Java, и если не все, что вам нужно, это добавить файл jar в ваше приложение.

Что касается путей «жесткого кодирования», я действительно не понимаю, что вы имеете в виду.У вас действительно нет «путей», как я думаю, что вы подразумеваете под строкой подключения.Вам не нужно жестко кодировать строку подключения, просто поместите некоторые параметры в файл свойств и создайте из них строку подключения.

1 голос
/ 27 мая 2011

1) Можно ли как-нибудь создать установочный файл, который также устанавливает базу данных и приложение вместе?

См. Мой ответ на Автономное приложение на основе Java .

2) Кроме того, путь к моей базе данных жестко запрограммирован. Значит ли это, что мне приходится менять код каждый раз, когда я устанавливаю приложение для кого-то, какой лучший способ сделать это?

У установщика БД появится JFileChooser, чтобы спросить пользователя, куда он хочет установить БД. Сохраните этот путь с помощью API JNLP PersistenceService . Вот мое демо. службы постоянства .

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