6.2.4. Развертывание UberJAR

UberJAR - это один из наиболее простых способов запустить приложение CUBA в режиме эксплуатации. Вы собираете единые JAR-файлы для каждого блока приложения с помощью задачи Gradle buildUberJar (см. также вкладку Deployment settings > Uber JAR в Studio) и запускаете приложение из командной строки, используя команду java:

java -jar app-core.jar

java -jar app.jar

Все параметры приложения определяются во время сборки. Порт веб-клиента по умолчанию - 8080, он будет подключаться к middleware, использующему localhost:8079. Таким образом, выполнив эти две команды в двух разных терминалах Windows, вы сможете подключиться к веб-клиенту приложения по адресу http://localhost:8080/app. Если ваш проект содержит Polymer UI, он будет доступен по адресу http://localhost:8080/app-front.

Вы можете изменить параметры, определяемые во время сборки, передав свойства приложения через системные свойства Java. Кроме того, порты и контекстные имена можно передавать в качестве аргументов командной строки.

Аргументы командной строки:

  • port - задаёт порт, который будет использован HTTP-сервером. Например:

    java -jar app.jar -port 9090

    Следует учесть, что при указании порта для блока core необходимо также задать свойство приложения cuba.connectionUrlList, указав соответствующие адреса и для клиентских блоков, например:

    java -jar app-core.jar -port 7070
    
    java -jar -Dcuba.connectionUrlList=http://localhost:7070/app-core app.jar
  • contextName - имя веб-контекста для данного блока приложения. Например, чтобы получить доступ к веб-клиенту по адресу http://localhost:8080/sales, выполните следующую команду:

    java -jar app.jar -contextName sales
  • frontContextName - имя веб-контекста для Polymer UI, работающего на клиентском блоке web или portal.

    Warning

    Следует иметь в виду, что текущая реализация Polymer UI требует ручного указания тега <base> для текущего веб-контекста, доступного во время работы приложения. Таким образом, после изменения контекста с помощью аргумента командной строки -frontContextName Polymer UI может стать недоступным.

  • jettyEnvPath - путь к файлу окружения Jetty. Может быть как абсолютным путём, так и относительным к рабочей директории.