1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/gonedays-executable_war_with_jetty

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Этот проект и основной исходный код доступны на GitHub по адресу https://github.com/todylu/example_executable_war_with_jetty. В исходном проекте использовался Jetty 7; в данном случае были изменены версия JDK и Jetty, а также решены вопросы конфликтов библиотек.

Целью данного проекта является создание исполняемого WAR-пакета на основе Jetty с помощью Maven.

Сгенерированный WAR-пакет может быть запущен как в традиционной директории Tomcat, так и в других средах.

=========================================================== На платформе Windows при выполнении команды java -jar -Dport=10080 jettyExam.war через командную строку CMD используется по умолчанию JRE-окружение, что приводит к ошибкам при обращении к JSP-файлам:

org.apache.jasper.JasperException: PWC6345: Error calling javac. Requires a full installation of JDK (not only JRE)

Поэтому в Windows следует указывать использование Java.exe из JDK:

%JAVA_HOME%\bin\java -jar -Dport=10080 jettyExam.war (при отсутствии переменной окружения JAVA_HOME, следует указать полный путь к JDK)

Или можно указать параметры JVM:

%JAVA_HOME%\bin\java -jar -Xms512m -Xmx1024m -XX:PermSize=256M -XX:MaxPermSize=256M -Dport=10080 jettyExam.war

================================================================================= Исполняемый WAR-пакет с встроенным Jetty

Проект создан с помощью Eclipse Luna
Название проекта: jettyExam
Требования к окружению: Maven 3.2.3

Основная функциональность определена в файле "jettyExam/src/main/java/Runner.java", который отвечает за создание сервера Jetty.Файлы сервлета находятся в "jettyExam/src/main/java/hello/app/HelloWorldServlet.java".

Картография, которая связывает URL и сервлеты, определена в файле "jettyExam/src/main/webapp/WEB-INF/web.xml".

Пример не поддерживает JSP, поскольку некоторые необходимые JAR-файлы отсутствуют.

Основные усилия направлены на поддержание файла "jettyExam/pom.xml": чтобы исходный код успешно компилировался, ключевым моментом являются зависимости.

<dependencies>
    <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-server</artifactId>
        <version>${jettyVersion}</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-webapp</artifactId>
        <version>${jettyVersion}</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

При этом, "provided" позволяет избежать упаковки этих JAR-файлов в WAR-файл. Если требуется поддержка JSP, следующую зависимость следует добавить:

<dependency>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-jsp</artifactId>
    <version>${jettyVersion}</version>
    <scope>provided</scope>
</dependency>

Добавление зависимости JSP увеличит размер WAR-файла на 800 КБ. Поэтому рекомендуется закомментировать зависимость JSP.

Кроме того, некоторые плагины являются обязательными.
maven-war-plugin определяет "основной" класс в MANIFEST.MF.
maven-antrun-plugin перемещает "основной" класс в корневой путь WAR-файла.
maven-dependency-plugin распаковывает зависимости из JAR-файлов.После выполнения "Run" -> "Run As" -> "Maven Install" в Eclipse, файл jettyExam.war можно найти в каталоге target.
Теперь можно запустить java -jar -Dport=10080 jettyExam.war и проверить результат через браузеры http://localhost:10080/ и http://localhost:10080/helloworld.Ссылка: Шаг за шагом: исполняемые WAR-файлы

Обратите внимание, что в статье есть ошибки.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Создайте war-пакет, который можно независимо запустить и который основан на jetty, с помощью maven. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/gonedays-executable_war_with_jetty.git
git@api.gitlife.ru:oschina-mirror/gonedays-executable_war_with_jetty.git
oschina-mirror
gonedays-executable_war_with_jetty
gonedays-executable_war_with_jetty
master