Как изменить war файл

Обновлено: 04.07.2024

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

Вы можете использовать Ant для настройки, компиляции, WAR и развертывания вашего решения.

Затем вы можете одним щелчком мыши выполнить в Eclipse эту цель Ant. Вот примеры каждого из шагов:

Предварительные условия

Мы предполагаем, что ваш код организован следующим образом:

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

Настроить

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

Компилировать

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

Построить WAR

Создайте саму ВОЙНУ:

Развернуть

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

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

Как только все это настроено, простой запуск default цели из Eclipse скомпилирует WAR и развернет ваше решение.

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

ну, я хочу развернуть его на tomcat. Как мне изменить цель? Не могли бы вы уточнить? Пока $ указывает на ваш каталог развертывания контекста Tomcat, он должен это делать. Нет? В цели войны нет ненужного '<exclude name = "WEB-INF / **" />'. Вы создали файлы * .class в этой папке, и их исключение не работает. Удалите эту строку исключения из цели войны, которую она работает.

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

Спасибо! и, чего бы это ни стоило, вы выбираете «Экспорт» в меню «Файл», затем в «Выбор места назначения экспорта» набираете «WAR», и появляется опция файла войны. мой выбор для быстрых и грязных веб-приложений. написать сценарий муравья только для того, чтобы получить тестовую WAR, - это слишком много работы. другое решение вместо создания файла ant - перейти в папку, которую вы хотите обернуть в файл WAR, и выполнить эту команду «jar -cvf name.war *». Спасибо за это, НАМНОГО проще, чем настраивать Maven или Ant (когда это не обязательно).

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

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

Я вернул вам вашу точку зрения (хотя это не я удалил). Maven, безусловно, является разумным выбором, если вы случайно (хотите?) Вписываетесь в их конкретную версию «соглашения важнее конфигурации». Мне это нравится =) Я работаю CM над довольно большим проектом, и я ценю то, что за меня проделали черновую работу по настройке проекта. Также замечательная поддержка плагинов. Возможность запустить и запустить многомодульный проект с помощью WAR-плагина, Surefire и CheckStyle за пять минут - настоящее удовольствие. Ant, хотя и более открытый и, возможно, более мощный, по сравнению с ним создает проблемы. В любом случае Maven - это подмножество Ant, поэтому, если вам нужно выполнить там какие-либо сценарии, добро пожаловать. Помимо структуры XML Maven, основанной на ANT, и ANT включен как подмножество Maven.

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

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

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

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

Использование опции «Экспорт-> WAR-файл» позволит вам сохранить военный файл.

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

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

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

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

Надеюсь это поможет.

Используйте код сборки ant, который я использую для своего проекта SMS

Другой вариант - создать его автоматически с помощью Eclipse. Конечно, если у вас есть среда непрерывной интеграции, рекомендуется Ant или Maven. Альтернатива экспорта не очень удобна, потому что вам нужно каждый раз настраивать свойства экспорта.

Включить поддержку «Архивов проектов»; это может зависеть от вашего проекта (я использовал его в проекте Java EE / Web). Щелкните правой кнопкой мыши корневой каталог проекта; Настроить -> Добавить поддержку архивов проектов.

Идите и создайте новый архив в верхнем каталоге «Архивы проекта». У вас есть только опция jar, но вы называете архив * .war.

Настройте Fileset-ы, то есть какие файлы должны быть включены. Обычно настраиваются два набора файлов аналогично настройке сборки веб-развертывания (свойство проекта).

  • скопировать / WebContent в /
  • скопируйте / build / classes в WEB-INF / classes (создайте этот набор файлов после того, как определите каталог WEB-INF / classes в архиве)

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

Собрать архив вручную или опубликовать прямо на сервере; но также автоматически создается для вас Eclipse

Apache Tomcat - один из самых популярных веб-серверов в сообществе Java. Он поставляется как контейнер сервлетов, способный обслуживать веб-архивы с расширением WAR.

Он предоставляет панель управления, с помощью которой вы можете развернуть новое веб-приложение или отменить развертывание существующего без перезапуска контейнера. Это особенно полезно в производственной среде.

В этой статье мы сделаем краткий обзор Tomcat, а затем рассмотрим различные подходы к развертыванию файла WAR.

2. Структура Tomcat

Прежде чем мы начнем, мы должны ознакомиться с некоторой терминологией и переменными среды.

2.1. Переменные среды

Если вы раньше работали с Tomcat, они будут вам хорошо знакомы:

$ CATALINA_HOME

Эта переменная указывает на каталог, в котором установлен наш сервер.

$ CATALINA_BASE

Эта переменная указывает на каталог конкретного экземпляра Tomcat, у вас может быть установлено несколько экземпляров. Если эта переменная не задана явно, ей будет присвоено то же значение, что и $ CATALINA_HOME .

Веб-приложения развертываются в каталоге $ CATALINA_HOME \ webapps .

2.2. Терминология

Корень документа . Относится к каталогу верхнего уровня веб-приложения, где расположены все ресурсы приложения, такие как файлы JSP, HTML-страницы, классы Java и изображения.

Контекстный путь . Ссылается на расположение относительно адреса сервера и представляет имя веб-приложения.

Например, если наше веб-приложение помещено в каталог $ CATALINA_HOME \ webapps \ myapp , доступ к нему будет осуществляться по URL-адресу // localhost / myapp , а его контекстный путь будет / myapp .

ВОЙНА . Расширение файла, который упаковывает иерархию каталогов веб-приложений в формате ZIP, сокращенно от Web Archive. Веб-приложения Java обычно упаковываются в файлы WAR для развертывания. Эти файлы могут быть созданы в командной строке или с помощью IDE, например Eclipse.

После развертывания файла WAR Tomcat распаковывает его и сохраняет все файлы проекта в каталоге webapps в новом каталоге, названном в честь проекта.

3. Настройка Tomcat

Веб-сервер Tomcat Apache - это бесплатное программное обеспечение, которое можно загрузить с их веб-сайта. Требуется, чтобы на компьютере пользователя был доступен JDK и чтобы переменная среды JAVA_HOME была установлена ​​правильно.

3.1. Запустить Tomcat

Мы можем запустить сервер Tomcat, просто запустив сценарий запуска, расположенный в $ CATALINA_HOME \ bin \ startup . В каждой установке есть файлы .bat и .sh .

Выберите подходящий вариант в зависимости от того, используете ли вы операционную систему на основе Windows или Unix.

3.2. Настроить роли

На этапе развертывания у нас будет несколько вариантов, один из которых - использовать панель управления Tomcat. Чтобы получить доступ к этой панели инструментов, у нас должен быть пользователь-администратор, настроенный с соответствующими ролями.

Чтобы иметь доступ к панели управления, пользователю-администратору требуется роль manager-gui . Позже нам нужно будет развернуть WAR-файл с помощью Maven, для этого нам также понадобится роль сценария менеджера .

Сделаем эти изменения в $ CATALINA_HOME \ conf \ tomcat-users :

Более подробную информацию о различных ролях Tomcat можно найти по этой официальной ссылке.

3.3. Установить права доступа к каталогу

Наконец, убедитесь, что в каталоге установки Tomcat есть права на чтение и запись.

3.4. Тестовая установка

Чтобы проверить правильность настройки Tomcat, запустите сценарий запуска ( startup.bat / startup.sh ), если на консоли не отображаются ошибки, мы можем дважды проверить, посетив // localhost: 8080 .

Если вы видите целевую страницу Tomcat, значит, мы правильно установили сервер.

3.5. Разрешить конфликт портов

По умолчанию Tomcat настроен на прослушивание подключений через порт 8080 . Если к этому порту уже привязано другое приложение, консоль запуска сообщит нам об этом.

Чтобы изменить порт, мы можем отредактировать файл конфигурации сервера server.xml, расположенный в $ CATALINA_HOME \ conf \ server.xml. По умолчанию конфигурация коннектора следующая:

Например, если мы хотим изменить наш порт на 8081 , нам придется изменить атрибут порта коннектора следующим образом:

Иногда выбранный нами порт не открыт по умолчанию, в этом случае нам нужно будет открыть этот порт с помощью соответствующих команд в ядре Unix или создать соответствующие правила брандмауэра в Windows, как это делается, выходит за рамки Эта статья.

4. Развертывание из Maven

Если мы хотим использовать Maven для развертывания наших веб-архивов, мы должны настроить Tomcat как сервер в файле Maven settings.xml .

Есть два места, где можно найти файл settings.xml :

  • Установка Maven: $ /conf/settings.xml
  • Установка пользователя: $ /. M2 / settings.xml

Как только вы его найдете, добавьте Tomcat следующим образом:

We will now need to create a basic web application from Maven to test the deployment. Let's navigate to where we would like to create the application.

Run this command on the console to create a new Java web application:

This will create a complete web application in the directory tomcat-war-deployment which, if we deploy now and access via the browser, prints hello world!.

But before we do that we need to make one change to enable Maven deployment. So head over to the pom.xml and add this plugin:

Note that we are using the Tomcat 7 plugin because it works for both versions 7 and 8 without any special changes.

The configuration url is the url to which we are sending our deployment, Tomcat will know what to do with it. The server element is the name of the server instance that Maven recognizes. Finally, the path element defines the context path of our deployment.

This means that if our deployment succeeds, we will access the web application by hitting //localhost:8080/myapp.

Now we can run the following commands from Maven.

To deploy the web app:

To redeploy after making changes:

5. Deploy With Cargo Plugin

Cargo is a versatile library that allows us to manipulate the various type of application containers in a standard way.

5.1. Cargo Deployment Setup

In this section, we will look at how to use Cargo's Maven plugin to deploy a WAR to Tomcat, in this case, we will deploy it to a version 7 instance.

To get a firm grip on the whole process, we will start from scratch by creating a new Java web application from the command line:

This will create a complete Java web application in the cargo-deploy directory. If we build, deploy and load this application as is, it will print Hello World! in the browser.

Unlike the Tomcat7 Maven plugin, the Cargo Maven plugin requires that this file is present.

Since our web application does not contain any servlets, our web.xml file will be very basic. So navigate to the WEB-INF folder of our newly created project and create a web.xml file with the following content:

To enable Maven to recognize Cargo's commands without typing the fully qualified name, we need to add the Cargo Maven plugin to a plugin group in Maven's settings.xml.

As an immediate child of the root element, add this:

5.2. Local Deploy

In this subsection, we will edit our pom.xml to suit our new deployment requirements.

Add the plugin as follows:

The latest version, at the time of writing, is 1.5.0. However, the latest version can always be found here.

Notice that we explicitly define the packaging as a WAR, without this, our build will fail. In the plugins section, we then add the cargo maven2 plugin. Additionally, we add a configuration section where we tell Maven that we are using a Tomcat container and also an existing installation.

By setting the container type to installed, we tell Maven that we have an instance installed on the machine and we provide the absolute URL to this installation.

By setting the configuration type to existing, we tell Tomcat that we have an existing setup that we are using and no further configuration is required.

The alternative would be to tell cargo to download and setup the version specified by providing a URL. However, our focus is on WAR deployment.

It's worth noting that whether we are using Maven 2.x or Maven 3.x, the cargo maven2 plugin works for both.

We can now install our application by executing:

and deploying it by doing:

If all goes well we should be able to run our web application by loading //localhost:8080/cargo-deploy.

5.3. Remote Deploy

To do a remote deploy, we only need to change the configuration section of our pom.xml. Remote deploy means that we do not have a local installation of Tomcat but have access to the manager dashboard on a remote server.

So let's change the pom.xml so that the configuration section looks like this:

This time, we change the container type from installed to remote and the configuration type from existing to runtime. Finally, we add authentication and remote URL properties to the configuration.

Ensure that the roles and users are already present in $CATALINA_HOME/conf/tomcat-users.xml just as before.

If you are editing the same project for remote deployment, first un-deploy the existing WAR:

clean the project:

finally, deploy it:

6. Deploy From Eclipse

Eclipse allows us to embed servers to add web project deployment in the normal workflow without navigating away from the IDE.

6.1. Embed Tomcat in Eclipse

We can embed an installation into eclipse by selecting the window menu item from taskbar and then preferences from the drop down.

We will find a tree grid of preference items on the left panel of the window that appears. We can then navigate to eclipse -> servers or just type servers in the search bar.

We then select the installation directory, if not already open for us, and choose the Tomcat version we downloaded.

On the right-hand-side of the panel, a configuration page will appear where we select the Enable option to activate this server version and browse to the installation folder.


We apply changes, and the next time we open the servers view from Eclipse's windows -> show view submenu, the newly configured server will be present and we can start, stop and deploy applications to it.

6.2. Deploy Web Application in Embedded Tomcat

To deploy a web application to Tomcat, it must exist in our workspace.

Open the servers view from window -> show view and look for servers. When open, we can just right click on the server we configured and select add deployment from the context menu that appears.


From the New Deployment dialog box that appears, open the project drop down and select the web project.

There is a Deploy Type section beneath the Project combo box when we select Exploded Archive(development mode), our changes in the application will be synced live without having to redeploy, this is the best option during development as it is very efficient.


Selecting Packaged Archive(production mode) will require us to redeploy every time we make changes and see them in the browser. This is best only for production, but still, Eclipse makes it equally easy.

6.3. Deploy Web Application in External Location

We usually choose to deploy a WAR through Eclipse to make debugging easier. There may come a time when we want it deployed to a location other than those used by Eclipse's embedded servers. The most common instance is where our production server is online, and we want to update the web application.

We can bypass this procedure by deploying in production mode and noting the Deploy Location in the New Deployment dialog box and picking the WAR from there.

During deployment, instead of selecting an embedded server, we can select the option from the servers view alongside the list of embedded servers. We navigate to the webapps directory of an external Tomcat installation.

7. Deploy From IntelliJ IDEA

To deploy a web application to Tomcat, it must exist and have already been downloaded and installed.

7.1. Local Configuration

Open the Run menu and click the Edit Configurations options.


In the panel on the left search for Tomcat Server, if it is not there click the + sign in the menu, search for Tomcat and select Local. In the name field put Tomcat 7/8 (depending on your version).


Click the Configure… button and in Tomcat Home field navigate to the home location of your installation and select it.


Go to the Deployment tab and click on the + symbol, select artifact you want to add to the server and click OK


7.2. Remote Configuration

Follow the same instructions as for local Tomcat configurations, but in the server tab, you must enter the remote location of the installation.

8. Deploy by Copying Archive

We have seen how to export a WAR from Eclipse. One of the things we can do is to deploy it by simply dropping it into the $CATALINA_HOME\webapps directory of any Tomcat instance. If the instance is running, the deployment will start instantly as Tomcat unpacks the archive and configures its context path.

If the instance is not running, then the server will deploy the project the next time it is started.

9. Deploy From Tomcat Manager

Assuming we already have our WAR file to hand and would like to deploy it using the management dashboard. You can access the manager dashboard by visiting: //localhost:8080/manager.

The dashboard has five different sections: Manager, Applications, Deploy, Diagnostics, and Server Information. If you go to the Deploy section, you will find two subsections.

9.1. Deploy Directory or WAR File Located on Server

If the WAR file is located on the server where the Tomcat instance is running, then we can fill the required Context Path field preceded by a forward slash “/”.

Let's say we would like our web application to be accessed from the browser with the URL //localhost:8080/myapp, then our context path field will have /myapp.

We skip the XML Configuration file URL field and head over to the WAR or Directory URL field. Here we enter the absolute URL to the Web ARchive file as it appears on our server. Let's say our file's location is C:/apps/myapp.war, then we enter this location. Don't forget the WAR extension.

After that, we can click deploy button. The page will reload, and we should see the message:

at the top of the page.

Additionally, our application should also appear in the Applications section of the page.

9.2. WAR File to Deploy

Just click the choose file button, navigate to the location of the WAR file and select it, then click the deploy button.

встроенные Java-сервер-300x229-

Однако есть еще одна школа мысли, которая полностью переворачивает эту модель с ног на голову. При таком подходе приложения Java упаковываются для выполнения из командной строки, как любое обычное приложение. Вместо того, чтобы развертываться в контейнере, встроенный контейнер развертывается внутри самого приложения!

Это паритет для курса со многими языками. Среда Django для Python включает в себя встроенный сервер для разработки и тестирования, а Ruby on Rails поставляется со встроенным сервером, который также используется в производстве. Эта концепция уже давно существует в Java, и Jetty специализируется на встраиваемой нише. Однако это далеко от нормы, и стандарт де-факто по-прежнему является файлом WAR, который можно развернуть в Tomcat .

Его сессия была посвящена платформе Play для Java и Scala, которая встраивает Netty аналогично серверу Rails. В отличие от Grails , в котором для разработки используется сервер в стиле Django, а затем он поставляется в виде файла WAR, Play предназначен для использования своего собственного сервера вплоть до производства. Джеймс защищал этот подход во всех приложениях Java.

Встроенное приключение


Я сделал хотя бы глоток Kool-Aid. Когда я начал писать свою книгу, Hibernate Search by Example , я хотел сосредоточиться на Hibernate Search, а не на каких-либо других фреймворках или проблемах с сервером. Поэтому я отказался от Spring и написал пример приложения для книги, используя подход Vanilla Servlet 3.0.

Использование встроенного сервера с Maven

Однако вам нужно взломать файл Jetty JAR, чтобы получить правильную копию этого файла конфигурации. Во-первых, вам нужно покопаться в вашем локальном репозитории Maven и выяснить, какой JAR-файл взломать (оказывается, это jetty-webapp, а не jetty-server). После того, как вы получите копию файла webdefault.xml и переключите параметр useFileMappedBuffer, вам нужно сохранить свою копию где-нибудь в вашем проекте и обновить POM Maven, чтобы он смотрел там, а не внутри Jetty JAR:

< defaultsDescriptor >$/src/main/webapp/WEB-INF/webdefault.xml</ defaultsDescriptor >

Использование встроенного сервера с другими системами сборки

Я знаю, что многие Java-разработчики ненавидят Maven. Поэтому я хотел предоставить версию примера приложения моей книги, созданного с использованием Ant, чтобы проиллюстрировать, как можно адаптировать концепции по умолчанию. Итак, какую строку мне добавить в build.xml, чтобы Ant использовал Jetty?

муравей

Эх, не так быстро. Есть интеграция с Ant для Jetty , но она еще более громоздка, чем Maven. Даже если вы используете систему управления зависимостями, такую ​​как Ivy, ваш Ant-скрипт не сможет загрузить и управлять встроенным сервером за вас. Вместо этого вы должны загрузить полностью автономный сервер Jetty и вручную скопировать его в свой проект. Кто не хочет, чтобы 6 мегабайт исполняемых файлов были переданы в систему контроля версий?

JAR-файлы Jetty-сервера, вам нужно вручную добавить еще один JAR-файл для интеграции с Ant. К моему удивлению, я обнаружил, что самой последней поддерживаемой версией была Jetty 7, реализующая спецификацию Servlet 2.5, которой почти восемь лет .

Я вижу, что они наконец добавили Jetty 8 в прошлом месяце, но это не помогло мне, когда я писал книгу прошлой осенью. Мне пришлось переписать эту версию моего примера приложения для Servlet 2.5 вместо 3.0, и я начал задаваться вопросом, действительно ли это того стоило.

Использование встроенного сервера из кода

В последней главе моей книги рассказывается о приложениях Hibernate Search, работающих в среде кластерного сервера. Плагин Maven предназначен только для одного экземпляра, поэтому я решил написать небольшой класс начальной загрузки, который бы программно запускал два экземпляра Jetty на разных портах. Структурируя этот класс как тест JUnit, я мог бы заставить Maven запускать его автоматически следующим образом:

Эх, не так быстро. Сервлеты, слушатели и службы RESTful моего приложения не регистрировались при запуске. После гораздо больше времени, потраченного на исследования, я обнаружил, что в Jetty доступны разные «разновидности» , с функциями Servlet 3.0 (такими как аннотации), включенными или отключенными по умолчанию.

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

Намного проще и понятнее, чем сбросить файл WAR в папку Tomcat / webapps, верно?

Использование встроенного сервера из консоли и облака

Закончив книгу, я хотел, чтобы демо-версия примера кода была отправлена ​​на GitHub и развернута на Heroku . Теоретически, Heroku может запустить любое приложение, которое вы можете запустить локально из командной строки. Если Heroku обнаружит POM Maven, он запустит пакет mvn clean и выполнит любую команду запуска, которую вы поместили в скрипт с именем Procfile.

Мой программный лаунчер Jetty работал нормально в контексте запуска Maven. Однако Maven управлял моими зависимостями classpath во время тестирования, и теперь мне нужна Jetty без этой помощи. Рекомендуемый подход Heroku, используемый в их демонстрационных Java-приложениях , заключается в комплектации вашего приложения версией Tomcat с одним файлом. Круто, я все равно больше знаком с Tomcat!


Не беспокойтесь, потому что есть похожий однофайловый Jetty Runner , и он позволяет передавать параметры JNDI в качестве параметров командной строки. Кроме того, мы потратили много времени на решение всех проблем со встроенной Jetty!

  1. JAR-файл Jetty Runner
  2. Файл WAR вашего веб-приложения (*)
  3. Разобранная версия вашего WAR-файла, созданного во время сборки Maven

(*) Вы правильно прочитали. После всего этого встроенного кошмара Heroku все еще использует файл WAR .

Мой профиль Heroku в итоге выглядел так:

web: java $JAVA_OPTS -jar target /dependency/jetty-runner-8 .1.7.v20120910.jar --lib target /hibernate-search-demo-0 .0.1-SNAPSHOT /WEB-INF/lib --port $PORT --jdbc org.apache.commons.dbcp.BasicDataSource "url=jdbc:h2:mem:vaporware;DB_CLOSE_DELAY=-1" "jdbc/vaporwareDB" target/*.war

Здесь работает более одного загрузчика классов, и это позволяет Jetty Runner загружать материал JSTL / taglib из его пути к классам, а не к пути к классам веб-приложения.

Вывод

Нет ничего плохого в концепции встроенного сервера, когда он изначально встроен в среду. Написание приложений Play доставляет удовольствие, и их развертывание на Heroku практически тривиально. На своей повседневной работе я использую коммерческий пакет на основе Spring под названием hybris , чья обширная система сборки включает сервер Tomcat в ваше приложение. Пока вам не нужно слишком сильно настраивать сценарии сборки, это прекрасно работает.

  1. Загрузите Tomcat и разархивируйте его куда-нибудь
  2. Перенесите файл WAR в подкаталог Tomcat / webapps
  3. Запустить Tomcat

Единственным реальным преимуществом, которое я получил, была возможность запустить демонстрацию на Heroku. Однако поддержка Java от облачных провайдеров улучшается с каждым днем. Jelastic позволяет вам развернуть обычные WAR-файлы в Tomcat 7 или GlassFish 3 прямо сейчас. AppFog поддерживает развертывание в Tomcat 6 , а поддержка Tomcat 7 появится в ближайшее время. Я подозреваю, что в недалеком будущем идея модификации ваших приложений для облачного развертывания будет воспринята как анахронизм.

Таким образом, в двух словах, это зависит от используемой вами платформы. Если встроенные серверы запекаются, они могут быть очень крутыми. Если они приклеены к воздуховоду, они могут быть ужасными. Если бы сегодня я писал Hibernate Search by Example , сценарии построения примера приложения производили бы две вещи: файл WAR и ссылку для загрузки Tomcat.

Программы, которые поддерживают WAR расширение файла

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

Программы, обслуживающие файл WAR

Как открыть файл WAR?

Отсутствие возможности открывать файлы с расширением WAR может иметь различное происхождение. К счастью, наиболее распространенные проблемы с файлами WAR могут быть решены без глубоких знаний в области ИТ, а главное, за считанные минуты. Ниже приведен список рекомендаций, которые помогут вам выявить и решить проблемы, связанные с файлами.

Шаг 1. Скачайте и установите WinRAR

Install software to open WAR file

Проблемы с открытием и работой с файлами WAR, скорее всего, связаны с отсутствием надлежащего программного обеспечения, совместимого с файлами WAR на вашем компьютере. Этот легкий. Выберите WinRAR или одну из рекомендованных программ (например, ALZip, IZArc, WinZip) и загрузите ее из соответствующего источника и установите в своей системе. Выше вы найдете полный список программ, которые поддерживают WAR файлы, классифицированные в соответствии с системными платформами, для которых они доступны. Одним из наиболее безопасных способов загрузки программного обеспечения является использование ссылок официальных дистрибьюторов. Посетите сайт WinRAR и загрузите установщик.

Шаг 2. Проверьте версию WinRAR и обновите при необходимости

Update software that support file extension WAR

Вы по-прежнему не можете получить доступ к файлам WAR, хотя WinRAR установлен в вашей системе? Убедитесь, что программное обеспечение обновлено. Иногда разработчики программного обеспечения вводят новые форматы вместо уже поддерживаемых вместе с новыми версиями своих приложений. Это может быть одной из причин, по которой WAR файлы не совместимы с WinRAR. Самая последняя версия WinRAR обратно совместима и может работать с форматами файлов, поддерживаемыми более старыми версиями программного обеспечения.

Шаг 3. Настройте приложение по умолчанию для открытия WAR файлов на WinRAR

Если проблема не была решена на предыдущем шаге, вам следует связать WAR файлы с последней версией WinRAR, установленной на вашем устройстве. Следующий шаг не должен создавать проблем. Процедура проста и в значительной степени не зависит от системы

Associate software with WAR file on Windows

Выбор приложения первого выбора в Windows

  • Выберите пункт Открыть с помощью в меню «Файл», к которому можно щелкнуть правой кнопкой мыши файл WAR.
  • Далее выберите опцию Выбрать другое приложение а затем с помощью Еще приложения откройте список доступных приложений.
  • Наконец, выберите Найти другое приложение на этом. , укажите папку, в которой установлен WinRAR, установите флажок Всегда использовать это приложение для открытия WAR файлы свой выбор, нажав кнопку ОК

Выбор приложения первого выбора в Mac OS

Шаг 4. Убедитесь, что WAR не неисправен

Если проблема по-прежнему возникает после выполнения шагов 1-3, проверьте, является ли файл WAR действительным. Проблемы с открытием файла могут возникнуть по разным причинам.

Check WAR file for viruses

1. Проверьте WAR файл на наличие вирусов или вредоносных программ.

Если WAR действительно заражен, возможно, вредоносное ПО блокирует его открытие. Сканируйте файл WAR и ваш компьютер на наличие вредоносных программ или вирусов. Если сканер обнаружил, что файл WAR небезопасен, действуйте в соответствии с инструкциями антивирусной программы для нейтрализации угрозы.

2. Убедитесь, что структура файла WAR не повреждена
3. Убедитесь, что у вас есть соответствующие права доступа

Некоторые файлы требуют повышенных прав доступа для их открытия. Войдите в систему, используя учетную запись администратора, и посмотрите, решит ли это проблему.

4. Убедитесь, что ваше устройство соответствует требованиям для возможности открытия WinRAR

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

5. Проверьте, есть ли у вас последние обновления операционной системы и драйверов

Современная система и драйверы не только делают ваш компьютер более безопасным, но также могут решить проблемы с файлом Java Web Archive. Устаревшие драйверы или программное обеспечение могли привести к невозможности использования периферийного устройства, необходимого для обработки файлов WAR.

Вы хотите помочь?

Если у Вас есть дополнительная информация о расширение файла WAR мы будем признательны, если Вы поделитесь ею с пользователями нашего сайта. Воспользуйтесь формуляром, находящимся здесь и отправьте нам свою информацию о файле WAR.

Читайте также: