Как запустить war файл
Перейти к содержимому

Как запустить war файл

  • автор:

Запуск war файла с помощью Apache Tomcat

С помощью maven собираю java проект. На этапе mvn install все проходит успешно и формируется war файл в локальном репозитории .m2. Если можно запустить его, то я не понимаю как это можно сделать непосредственно через tomcat (положила архив в папку webapss, а также в эту папку отправляла сформированную папку, в которой хранится war файл, но все безуспешно)

[INFO] --- maven-install-plugin:2.4:install (default-install) @ test_mongo --- [INFO] Installing D:\test_mongo\target\test_mongo-0.0.1.war to C:\Users\Home\.m2\repository\ru\habrahabr\test_mongo\0.0.1\test_mongo-0.0.1.war [INFO] Installing D:\test_mongo\pom.xml to C:\Users\Home\.m2\repository\ru\habrahabr\test_mongo\0.0.1\test_mongo-0.0.1.pom [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 2.126 s 

Отслеживать
задан 31 окт 2022 в 12:56
Marina Trizna Marina Trizna
1 1 1 бронзовый знак

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Зайти в веб интерфейс http://localhost:8080/manager/html и там добавить war

Отслеживать
ответ дан 31 окт 2022 в 14:37
Scruffy the Janitor Scruffy the Janitor
387 1 1 золотой знак 3 3 серебряных знака 9 9 бронзовых знаков

Разместила, но всплывает ошибка «ОШИБКА — Приложение по контекстному пути [/test_mongo-0.0.1] не запустилось». При попытке запустить по локальной ссылке apache tomcat выходит на страницу ошибки «403 Access Denied». Возможно дело в том, что делаю под manager_gui

Как запустить web проект (war file) из под консоли?

Здравствуйте, мне нужно реализовать restful сервис, который цепляет данные из базы средствами JPA. Я пользовался netbeans и создал в службах базу данных, потом уже создал кслассы сущности над базой и сам restful сервис. Впринципе все работает из под netbeans, но мне нужно реализовать так, что бы максимально упростить запуск сервера, посредством war файла. Что я имею:
1) Есть war файл с скомпилироваными файлами проекта
2) Есть папка с БД derby с расширениями .dat и .lck
Пытался запустить war файл средствами glassfish-4.1.1\bin\asadmin, все без успешно, ну полюбому потомучто у мне не настроенно подключение к javaDB или нужно стратовать сервер тоже из консоли. Вообщем в этом то и вопрос как мне запустить весь проект из под консоли.

. ДОБАВЛЮ ЧТО ЕСЛИ В NEtbeans Я ЗАПУСКАЮ JAVA db В РУЧНУЮ, ТО WAR ФАЙЛ НА СЕРВЕРЕ РАБОТАЕТ.
ВОТ ЛОГИ

type Exception report messageInternal Server Error descriptionThe server encountered an internal error that prevented it from fulfilling this request. exception javax.servlet.ServletException: javax.ejb.EJBException root cause javax.ejb.EJBException root cause javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.1.v20150605-31e8258): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: java.sql.SQLNonTransientConnectionException: . . . Error Code: 40000 Call: SELECT ORDERS_ID, TIME, ITEM_ID FROM ORDERS Query: ReadAllQuery(referenceClass=Orders sql="SELECT ORDERS_ID, TIME, ITEM_ID FROM ORDERS") root cause Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.1.v20150605-31e8258): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: java.sql.SQLNonTransientConnectionException: . . . Error Code: 40000 Call: SELECT ORDERS_ID, TIME, ITEM_ID FROM ORDERS Query: ReadAllQuery(referenceClass=Orders sql="SELECT ORDERS_ID, TIME, ITEM_ID FROM ORDERS") root cause java.sql.SQLNonTransientConnectionException: . . . root cause org.apache.derby.client.am.SqlException: . . . 
  • Вопрос задан более трёх лет назад
  • 6695 просмотров

Файл с расширением .war

Иконка формата файла war

Файл WAR — это веб-приложение Java, упакованное в формате архива и предназначенное для выполнения на веб-сервере. Архив может включать файлы классов Java (сервлеты), HTML-страницы, изображения и прочие ресурсы приложения. Файл WAR используется для развертывания Java-приложения на веб-сервере и часто содержит в своем составе дескриптор развертывания — файл web.xml, определяющий все сервлеты и свойства приложения.

Как, чем открыть файл .war?

Инструкция — как выбрать программу из списка, скачать и использовать ее для открытия файла

Для более точного определения формата и программ для открытия файла используйте функцию определения формата файла по расширению и по данным (заголовку) файла.

Программы

  • Проигрыватели аудио/видео
  • Редакторы изображений
  • Текстовые редакторы
  • Web-браузеры
  • Архиваторы
  • Работа с дисками
  • Офисные программы/пакеты

Файлы

  • Аудио-файлы
  • Видео-файлы
  • Рисунки, изображения
  • Растровые изображения
  • Векторные изображения
  • 3D-модели, изображения
  • CAD-файлы
  • Текст, документы
  • Электронные таблицы
  • Электронные книги
  • Архивы, сжатые файлы
  • Исполняемые файлы
  • Интернет, web файлы
  • Файлы игр
  • Образы дисков
  • Системные файлы
  • Файлы шрифтов
  • Зашифрованные файлы
  • Размеченные документы
  • Файлы резервных копий
  • Файлы данных
  • Файлы баз данных
  • Скрипты, исходный код
  • Подключаемые модули
  • Файлы настроек
  • Географические файлы
  • Другие файлы

Как запустить war файл

Инструкция ниже разработана и проверена для Ubuntu 18.04, для пакетов tomcat9 и tomcat8.

  1. Откройте диалог в Studio: дерево проектов CUBA >Project >Deployment >WAR Settings, или просто вручную добавьте задачу buildWar в конец скрипта сборки build.gradle. Вы можете указать отдельный файл проекта war-context.xml для указания настроек подключения к базе данных, или предоставить этот файл позже на сервере:
task buildWar(type: CubaWarBuilding) < singleWar = true includeContextXml = true includeJdbcDriver = true appProperties = ['cuba.automaticDatabaseUpdate': true] webXmlPath = 'modules/web/web/WEB-INF/single-war-web.xml' coreContextXmlPath = 'modules/core/web/META-INF/war-context.xml' >

Если параметры конечного сервера отличаются от тех, что установлены на локальном Tomcat, используемом для быстрого развертывания, укажите соответствующие свойства приложения. Например, если конечный сервер запущен на порту 9999 и вы используете сборку раздельных WAR файлов, то определение задачи должно выглядеть следующим образом:

task buildWar(type: CubaWarBuilding) < singleWar = false includeContextXml = true includeJdbcDriver = true appProperties = [ 'cuba.automaticDatabaseUpdate': true, 'cuba.webPort': 9999, 'cuba.connectionUrlList': 'http://localhost:9999/app-core' ] >
gradlew buildWar
sudo apt install tomcat9

Служба Tomcat 9 по умолчанию работает от пользователя tomcat . Владелец каталога webapps — также tomcat .

sudo mkdir /opt/app_home sudo chown tomcat:tomcat /opt/app_home
  1. Создайте файл override.conf в каталоге /etc/systemd/system/tomcat9.service.d/
sudo mkdir /etc/systemd/system/tomcat9.service.d/ sudo nano /etc/systemd/system/tomcat9.service.d/override.conf
[Service] ReadWritePaths=/opt/app_home/
sudo systemctl daemon-reload
CATALINA_OPTS="$CATALINA_OPTS -Xmx1024m" CATALINA_OPTS="$CATALINA_OPTS -Dapp.home=/opt/app_home"

Если вы наблюдаете медленный запуск Tomcat, установленного на виртуальной машине (VPS), добавьте дополнительную строчку в скрипт setenv.sh :

CATALINA_OPTS="$CATALINA_OPTS -Djava.security.egd=file:/dev/./urandom"
  • Создать файл конфигурации logback в вашем проекте. Укажите путь к этому файлу в параметре logbackConfigurationFile задачи buildWar (вручную или с помощью диалога Studio WAR Settings).
  • Создать файл с настройками журналирования на конечном сервере.

Скопируйте файл logback.xml из локального Tomcat (под-папка deploy/tomcat/conf проекта) в домашний каталог приложения и поменяйте свойство logDir в этом файле:

 name="logDir" value="$/logs"/>

Добавьте следующую строчку в скрипт setenv.sh , чтобы указать путь к настройкам журналирования:

CATALINA_OPTS="$CATALINA_OPTS -Dlogback.configurationFile=/opt/app_home/logback.xml"
sudo systemctl restart tomcat9

Изменения в случае использования пакета tomcat8

CUBA поддерживает развертывание и в Tomcat 9, и в Tomcat 8.5. Примите во внимание следующие различия процедуры развертывания приложения в Tomcat 8.5:

  • Tomcat 8.5 предоставляется пакетом tomcat8
  • Имя пользователя — tomcat8
  • Base каталог Tomcat — /var/lib/tomcat8
  • Home каталог Tomcat — /usr/share/tomcat8
  • Сервис Tomcat не использует «песочницу» systemd, поэтому нет необходимости менять настройки systemd.
  • Стандартные потоки вывода и ошибок пишутся в файл /var/lib/tomcat8/logs/catalina.out .

Решение проблем интеграции аддона Reporting с LibreOffice при использовании пакета tomcat9

При развертывании приложения через пакет tomcat9 и использовании интеграции аддона Reporting с LibreOffice вы можете столкнуться с проблемами запуска процессов LibreOffice. Ошибку можно диагностировать по этому сообщению в журнале:

2019-12-04 09:52:37.015 DEBUG [OOServer: ERR] com.haulmont.yarg.formatters.impl.doc.connector.OOServer - ERR: (process:10403): dconf-CRITICAL **: 09:52:37.014: unable to create directory '/.cache/dconf': Read-only file system. dconf will not work properly.

Эта ошибка вызывана тем, что домашний каталог пользователя tomcat указывает на каталог, недоступный для записи. Это можно исправить, поменяв домашнюю папку пользователя tomcat на значение /var/lib/tomcat9/work :

# проблемное значение echo ~tomcat / # исправить sudo systemctl stop tomcat9 sudo usermod -d /var/lib/tomcat9/work tomcat sudo systemctl start tomcat9

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *