24 декабря 2016

Как запустить проект jBilling на Ubuntu


В этот раз мы разберёмся с настройкой и запуском проекта jBilling на Ubuntu 16.04.

Основные этапы:

Сначала скачаем необходимые инструменты:

  1. Java (крайне желательно установить версию 1.8.0_60)
  2. Apache Ant
  3. Grails (нужна версия 2.4.3)
  4. PostgreSQL (обычно установлена по умолчанию в Ubuntu)

Для установки Ant, Grails, PostgreSQL можно воспользоваться следующими командами:

$ apt-get install ant

$ curl -s "https://get.sdkman.io" | bash
$ source "$HOME/.sdkman/bin/sdkman-init.sh"
$ sdk install grails 2.4.3

$ apt-get install postgresql-9.4

Проверяем корректность установки, выполнив следующие команды:

$ java -version
$ ant -version
$ grails -version

В случае с Grails возможна ситуация, что при выполнении любой его команды (в т.ч. -version) консоль просто очищается. Вероятнее всего проблема связана с тем, что переменная среды $JAVA_HOME не установлена, либо была установлена вручную.

В первом случае всё предельно просто, открываем файл /etc/environment и добавляем строку JAVA_HOME="/usr/lib/jvm/open-jdk" (у вас путь может отличаться). Выполняем команду:

$ source /etc/environment

Во втором же случае необходимо открыть файл $GRAILS_HOME/bin/startGrails и найти фрагмент:

if [ -z "$JAVA_HOME" ] ; then
die "JAVA_HOME environment variable is not set"

который нужно убрать либо заменить на:

if [ -z "$JAVA_HOME" ] ; then
echo "JAVA_HOME environment variable is not set"

Добавляем базу данных в PostgreSQL:

$ createdb jbilling_test -U postgres

где '-U' - имя пользователя в PostgreSQL

Теперь нам необходимо скачать сам проект в двух версиях: binary и source, а затем разархивировать их в любое удобное место. В binary-проекте в папке /jbilling находится файл 'jbilling.properties'. Копируем его в source-проект в паку /src/java.

Запускаем IntelliJ IDEA и выбираем 'Import Project'. Везде нажимаем 'далее'. После открытия проекта в верхней панели выбираем Tools->Grails->Synchronize Grails settings. Это может занять пару минут. Тем временем открываем файл /src/java/CheckDBConnection.java и настраиваем доступ к нашей базе данных. Можем запустить его и проверить.

По завершении синхронизации у нас появится второй модуль в IDEA. Теперь можем запустить проект: Run->Run 'Grails:jbilling'. Если появляются ошибки 'Cannot copy non-root method', то нужно поставить версиию Java указанную выше.

Сам сервис станет доступен по адресу: localhost:8080/jbilling

Для запуска через консоль переходим в папку с source-проектом и выполняем файл run-app.sh, которому предварительно нужно дать разрешение на выполнение.

Вот мы и разобрались с запуском проекта jBilling.




Автор

© Yevhenii