это

р приложений Java EE 7 и, в частности, контейнер Servlet 3.1 должны позволить нам развернуть файл WAR, содержащий веб-приложение. И файл WAR по сути является JAR с дескриптором развертывания (web.xml) и пару других элементов.

С другой стороны, Java 9 вводит понятиемодульный файл JARJAR с дескриптором модуля (module-info.class) который делает модуль с точки зрения проекта Jigsaw.

Итак, может ли файл WAR содержать дескриптор модуля и создавать «модульный файл WAR»?

Уже существуют серверы приложений, способные принять развертывание «модульного файла WAR»?

Каково будущее контейнеров сервлетов и файлов WAR с точки зрения модульности Java 9?

Ответы на вопрос(2)

Решение Вопроса

В будущих выпусках Java EE может появиться определенное поведение для взаимодействия с модулями Jigsaw.

На этом этапе все серверы приложений работают в «режиме classpath» при работе на JDK9, что на практике означает, что они не используют мозаику.

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

Некоторые серверы приложений сегодня уже реализуют какую-то модульность, такую ​​как OSGi (GlassFish, Liberty) или jboss-modules (Wildfly). Но в настоящее время Jigsaw все еще имеет некоторые ограничения, чтобы иметь возможность запускать такие модульные системы поверх него.

Короче говоря, до тех пор, пока не будет обновлена ​​спецификация EE (вероятно, 9+), чтобы описать, как развертывания EE должны выполняться во время выполнения с поддержкой Jigsaw, не существует «официального» способа поведения такого развертывания. До этого времени каждый сервер приложений может реализовывать некоторую пользовательскую поддержку, но она не будет стандартной.

Таким образом, может ли файл WAR содержать дескриптор модуля и создать «модульный файл WAR»

Да, оно может. Поскольку теперь это может быть по существуМодульный файл JAR с дескрипторами развертывания, такими какweb.xml.

Каково будущее контейнеров сервлетов и файлов WAR с точки зрения модульности Java 9?

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

В частности, для платформы Java EE цель состоит в том, чтобы включить будущий модульный стандарт war-файла, в котором компоненты в файле war могут быть модулями разработчика.

Уже существуют серверы приложений, способные принять развертывание «модульного файла WAR»?

Хотя я в настоящее время не знаю ни о каком таком существующем инструменте или серверах, но возможностьсоздать модульную банку уже добавлен вJMOD а такжеJAR инструменты, которые обеспечивают футуристический взгляд на интеграцию серверов приложений и модульной системы.

 ctomc24 окт. 2017 г., 11:44
В настоящее время ни один сервер приложений не может запускать модульные развертывания. Часть динамической конфигурации Jigsaw предназначена для того, чтобы иметь возможность разрешать такие вещи для серверов приложений, но она сильно ограничена в том, что она может поддерживать; что также является причиной того, что серверы приложений еще не существуют с их поддержкой.
 Naman24 окт. 2017 г., 11:47
@ctomc Спасибо. Хорошо учитьсяэто.

Ваш ответ на вопрос