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

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

Файл формата WAR открывается специальными программами. Чтобы открыть данный формат, скачайте одну из предложенных программ.

Чем открыть файл в формате WAR

Сжатый пакет, содержащий основанные на Java веб-компоненты и приложения, запускаемые на веб-сервере. Форматируется так же как и файл расширения .JAR, но включает в себя дополнительную информацию, сообщающую серверу приложения, какие классы сервлета Java запускать.

Файлы WAR могут содержать классы утилиты серверной стороны (такие как корзины покупок), статические веб-ресурсы (HTML, изобразительные и звуковые файлы) и классы стороны клиента (классы прикладных программ и утилиты). Их можно запускать на веб-сервере с помощью поддерживающей программы, такой как Tomcat Web Application Manager в Apache.

Поскольку файлы WAR хранятся в формате архива, содержимое файла WAR можно извлекать с помощью утилиты декомпрессии вроде Stuffit Expander.

Чем открыть файл в формате WAR (Java Web Archive)

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

13 ответов

можно использовать АНТ для настройки, компиляции,войны и разверните свое решение.

затем вы можете выполнить один клик в Eclipse, чтобы запустить эту цель муравья. Вот примеры каждого из шагов:

предпосылки

мы предположим, что у вас есть код, организованный как:

  • $/src : файлы Java, свойства, файлы конфигурации XML
  • $/web : ваш JSP файлы
  • $/web/lib : любые банки, необходимые во время выполнения
  • $/web/META-INF : манифест
  • $/web/WEB-INF : веб.xml-файлы

настройка

определение setup задача, которая создает каталог дистрибутива и копирует любые артефакты, которые необходимо напрямую обработать:

Compile

создайте свои файлы Java в классы и скопируйте все артефакты, не относящиеся к Java, которые находятся под src но нужно быть доступна во время выполнения (например, свойства, XML-файлы и т. д.):

построить войны

создать саму войну:

развернуть

наконец, вы можете настроить задачу для развертывания войны непосредственно в вашем Tomcat deploy location:

нажмите и вперед!

как только все это настроено, просто запустите default target из Eclipse будет компилировать, воевать и развертывать ваше решение.

в преимущество этого подхода заключается в том, что он будет работать как за пределами Eclipse, так и внутри Eclipse и может использоваться для простого обмена стратегией развертывания (например, с помощью системы управления версиями) с другими разработчиками, которые также работают над вашим проектом.

Я всегда выбирал экспорт из Eclipse. Он создает файл War и включает в себя все необходимые файлы. Если вы создали проект как веб-проект, это все, что вам нужно сделать. Затмение делает это очень просто сделать.

мы используем Maven (старший брат Ant) для всех наших проектов java, и у него есть очень отличный плагин WAR. Учебники и использование можно найти там.

это намного проще, чем Ant, полностью совместимый с Eclipse (используйте Maven eclipse: затмение для создания проектов Eclipse) и прост в настройке.

файл war-это просто файл jar с расширением war, но что заставляет его работать, так это то, как на самом деле структурировано содержимое.

Читайте также:  Создать класс автомобиль c

учебник J2EE/Java EE может быть началом:

и спецификация сервлета содержит кровавые детали:

при создании нового веб-проекта в Eclipse (я имею в виду версию Java EE) структура создана для вас, и вы также можете сказать, где установлен ваш Appserver, и он развернет и запустит приложение для вас.

использование опции "экспорт — > файл войны" позволит вам сохранить файл войны.

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

следуя приведенным ниже шагам, вы можете получить новую настройку проекта войны в eclipse.

  1. скачать и установить Maven
  2. перейти в командную строку run: mvn archetype:generate
  3. следуйте инструкциям-выберите простой веб-проект java (18) и подходящее имя.
  4. когда он закончил работать: mvn eclipse:eclipse
  5. Запустить Eclipse. Выберите Файл — > импорт — > существующий проект. Выберите каталог, в котором вы запустили цели mvn.
  6. вот и все, теперь у вас должно быть очень хорошее начало военного проекта в eclipse
  7. вы можете создать саму войну, запустив mvn package или разверните его, настроив сервер в eclipse и просто добавив проект на сервер.

как некоторые другие сказали, недостатком использования maven является то, что вы должны использовать конвенций Мэйвен. Но я думаю, что если вы только начинаете, изучение конвенций-хорошая идея, прежде чем вы начнете делать свои собственные. Ничто не помешает вам изменить/рефакторинг на ваш собственный предпочтительный метод на более позднем этапе.

В этом уроке освещается процесс конвертации исполяемого JAR приложения, которое было собрано с Spring Boot, в WAR файл, который вы можете запустить на любом стандартном контейнере сервлетов.

Что вы создадите

Вы возьмете простое Spring MVC приложение и соберете WAR файл, используя Spring Boot.

Что вам потребуется

  • Примерно 15 минут свободного времени
  • Любимый текстовый редактор или IDE
  • JDK 6 и выше
  • Gradle 1.11+ или Maven 3.0+
  • Вы также можете импортировать код этого урока, а также просматривать web-страницы прямо из Spring Tool Suite (STS), собственно как и работать дальше из него.

Как проходить этот урок

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

Чтобы начать с нуля, перейдите в Настройка проекта.

Чтобы пропустить базовые шаги, выполните следующее:

  • Загрузите и распакуйте архив с кодом этого урока, либо кнонируйте из репозитория с помощью Git: git clone https://github.com/spring-guides/gs-convert-jar-to-war-maven.git
  • Перейдите в каталог gs-convert-jar-to-war-maven/initial
  • Забегая вперед, создайте базовое web-приложение

Когда вы закончите, можете сравнить получившийся результат с образцом в gs-convert-jar-to-war-maven/complete .

Настройка проекта

Для начала вам необходимо настроить базовый скрипт сборки. Вы можете использовать любую систему сборки, которая вам нравится для сборки проетов Spring, но в этом уроке рассмотрим код для работы с Maven. Если вы не знакомы с Maven, ознакомьтесь с соответсвующим уроком Сборка Java-проекта с использованием Maven.

Читайте также:  Батареи в нише под подоконником

Создание структуры каталогов

В выбранном вами каталоге проекта создайте следующую структуру каталогов; к примеру, командой mkdir -p src/main/java/hello для *nix систем:

Spring Boot Maven plugin предоставляет множество удобных возможностей:

  • Он собирает все jar’ы в classpath и собирает единое, исполняемое "über-jar", что делает более удобным выполнение и доставку вашего сервиса
  • Он ищет public static void main() метод, как признак исполняемого класса
  • Он предоставляет встроенное разрешение зависимостей, с определенными номерами версий для соответсвующих Spring Boot зависимостей. Вы можете переопределить на любые версии, какие захотите, но он будет по умолчанию для Boot выбранным набором версий

Создание базового web-приложения

Теперь, когда вы настроили проект, вы можете создать Spring MVC приложение. Вам оно необходимо для запуска встроенного в Spring Boot контейнера сервлетов. Затем измените его немного, чтобы собрать WAR файл, который вы сможете запустить на любом контейнере сервлетов 3.0.

Spring MVC позволяет вам быстро создавать контроллеры для вашего web-сайта.

Контроллер лаконичен и прост, но в нем происходит много чего интересного. Давайте подробнее его рассмотрим шаг за шагом.

Аннотация @Controller сигнализирует о том, что этот класс содержит web-адреса приложения.

Аннотация @RequestMapping гарантирует, что HTTP запросы к / приведут к выполнению метода index() .

Реализация метода возвращает строку index , название представления, которое необходимо отрендерить.

Web контроллер возвращает строку index когда кто-то делает GET / к вашему сайту. Spring Boot автоматически добавляет Thymeleaf бины в контекст приложения для конвертации в запрос шаблона Thymeleaf, расположенного в src/main/resources/templates/index.html .

Этот шаблон имеет несколько очень простых HTML элементов и не имеет Thymeleaf кода. Вы можете расширить его по мере необходимости.

Создание приложения исполняемым

Несмотря на то, что пакет этого сервиса может быть в составе web-приложения и WAR файлов, более простой подход, продемонстрированный ниже создает отдельное самостоятельное приложение. Вы упаковываете все в единый, исполняемый JAR-файл, который запускается через хорошо знакомый старый main() Java-метод. Попутно, вы используете поддержку Spring для встроенного Tomcat контейнера сервлетов как HTTP среду выполнения вместо развертывания на сторонний экземпляр.

Метод main() передает управление вспомогательному классу SpringApplication , предоставляя Application.class как аргумент его run() методу. Это говорит Spring о том, чтобы прочитать аннотацию метаданных из Application и управлять им как компонентом в Spring Application Context.

Аннотация @ComponentScan сообщает Spring о запуске рекурсивного поиска в пакете hello и потомках классов, отмеченных прямо или косвенно Spring аннотацией @Component . При этом гарантируется, что Spring найдет и зарегистрирует HelloController , потому что он отмечен @Controller , что в свою очередь является своего рода @Component аннотацией.

@EnableAutoConfiguration аннотация переключает на доступные по умолчанию настройки, основанные на содержимом вашего classpath. К примеру, т.к. приложение зависит от встраиваемой версии Tomcat(tomcat-embed-core.jar), то Tomcat сервер установлен и настроен по умолчанию от вашего имени. И также, т.к. приложение зависит от Spring MVC (spring-webmvc.jar), Spring MVC DispatcherServlet настроен и зарегистрирован за вас — web.xml не нужен! Автонастройка является мощным и гибким механизмом. Более подробно вы можете ознакомиться в API документации.

Читайте также:  Тел хуавей мате 20

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

Запуск сервиса

Запустите ваш сервис из командной строки:

Выходные данные отображены. Сервис должен быть поднят и запущен через несколько секунд. В вашем браузере перейдите по адресу http://localhost:8080. Вы должны увидеть текст "Hello, world!", отрендеренный шаблоном.

Создание WAR файла

Приложение, собранное вами на данном этапе настроено на генерацию JAR артефакта. Для переключения на WAR файл, вам необходимо добавить другой плагин в ваш pom.xml :

Если вы хотите разворачивать WAR файл внешнего контейнера, добавьте зависимость встроеннного контейнера как "provided":

Ниже представлена новая версия pom.xml , которая включает эти изменения:

Теперь, когда вы запустите mvn clean package , WAR файл будет создан.

Инициализация сервлета

Ранее приложение содержало метод public static void main() , который запускался плагином spring-boot-maven-plugin, когда использовалась команда java -jar .

Используя конвертацию в WAR файл без XMl файлов, вам необходим другой сигнал сервлет контейнеру о том, как запускать приложение.

WebInitializer является чистым Java классом, который предоставляет альтернативу созданию web.xml . Он расширяет класс SpringServletInitializer . Это расширение предлагает множество конфигурируемых настроек путем переопределения методов. И только один метод configure() обязателен для переопределения.

configure() предоставляет средства для регистрации классов, которые необходимы для запуска приложения. Это то место, где вы передаете для обработки вашу Application конфигурацию. Запомните: Application содержит @ComponentScan , поэтому он будет находить web контроллеры автоматически.

Даже если public static void main() больше не нужен, вы можете оставить его код на месте.

Запуск WAR файла

Как только Application загрузится, он инициализирует Spring Boot для автоматического конфигурирования других бинов. в этом примере он добавляет Spring MVC и Thymeleaf бины. Но Spring Boot добавляет и другие бины, исходя из совокупности факторов, таких как ваш classpath и других настроек контекста приложения.

На данном этапе вы готовы к сборке WAR файла:

Эта команда создает развертываемый артефакт target/gs-convert-jar-to-war-maven-0.1.0.war.

Вы можете загрузить Tomcat, Jetty или любой другой контейнер, который поддерживает сервлеты 3.0 версии. Распакуйте его и поместите WAR файл в правильную директорию. Затем запустите сервер.

В вашем браузере перейдите по адресу http://localhost:8080/gs-convert-jar-to-war-maven-0.1.0/. Вы должны увидеть текст "Hello, world!", отрендеренный шаблоном.

Поздравляем! Вы только что конвертировали исполняемый JAR в WAR файл приложения, который можно будет запустить на любом сервлет 3.0+ контейнере.

Ссылка на основную публикацию
Как заменить содержимое ячеек в excel
Поиск и замена в Excel – это достаточно мощный и удобный инструмент, который позволяет находить, а при необходимости и заменять,...
Как вытащить батарейку cmos
Сброс времени и даты при каждом включении персонального компьютера – первый признак того, что элемент питания БИОС разрядился и требует...
Как вытащить видео из инстаграмма
Привет уважаемые читатели seoslim.ru! В виду того, что социальная сеть Инстаграм стремительно развивается и позволяет размещать там не только фото...
Как заменить утерянные водительские права
Ситуации, когда водитель теряет свои документы, возникают редко. Однако, такое все же бывает. В этом случае держателю прав придется прибегнуть...
Adblock detector