это
===

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

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

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

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

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

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

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

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

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

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



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

Да, оно может. Поскольку теперь это может быть по существу[Модульный файл JAR](https://openjdk.java.net/projects/jigsaw/spec/sotms/#module-artifacts) с дескрипторами развертывания, такими как`web.xml`.

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

Из[Динамическая конфигурация](https://openjdk.java.net/projects/jigsaw/goals-reqs/03#dynamic-configuration) аспект модульной системы,

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

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

Хотя я в настоящее время не знаю ни о каком таком существующем инструменте или серверах, но возможность[создать модульную банку](https://openjdk.java.net/projects/jigsaw/doc/topics/modularjar.html) уже добавлен в`JMOD` а также`JAR` инструменты, которые обеспечивают футуристический взгляд на интеграцию серверов приложений и модульной системы.