Подтвердить что ты не робот

Какой плагин Maven GlassFish использовать?

Я пытаюсь интегрировать развертывание java .war в GlassFish V3 через Maven. Хотя я нашел несколько плагинов, никто из них не выглядит очень активным:

И я получил самую большую информацию из Блог Eskato, он был написан в марте 2008 года, поэтому я не знаю, какое состояние Интеграция GlassFish Maven, и я не могу найти подходящий плагин для работы. С Maven GlassFish Plugin У меня был некоторый успех, но он все еще не работает полностью хорошо для всех целей, которые он говорит, что поддерживает, что делает некоторые из команд неэффективны.

Кто-нибудь еще смог успешно интегрировать Glassfish V3 и Maven? Если да, то какие ресурсы вы использовали для его выполнения?

4b9b3361

Ответ 1

Обновление: CARGO-491 исправлено, и я обновил свой ответьте соответственно. Итак, теперь есть три варианта:

Плагин Maven GlassFish

Первым вариантом будет использование Maven GlassFish Plugin. Этот плагин позволяет взаимодействовать с локальной или удаленной установкой GlassFish и управлять доменами Glassfish и развертываниями компонентов из жизненного цикла сборки Maven.

Плагин Maven для встроенного GlassFish

Второй вариант - использовать Maven Embedded Glassfish Plugin. Как указано по его названию, этот плагин не полагается на существующую установку, но использует встроенный GlassFish, работающий в той же JVM, что и плагин. Этот плагин очень приятный, если вы хотите сохранить свою сборку переносимой (любой может получить ваш POM и запустить сборку с GlassFish без его установки) с почти теми же функциями, что и обычная установка GlassFish, за исключением кластеризации, конечно (вы можете использовать предварительно сконфигурированный domain.xml если вы хотите). См. Тестирование с помощью плагина GlassFish Maven и JavaDB Embedded для примера.

Плагин Maven Cargo

Работа, начатая Kohsuke Kawagushi, была наконец интегрирована в Cargo и, начиная с Cargo 1.0.1, GlassFish 3.x теперь поддерживается, Используя плагин Maven Cargo, является третьим вариантом. Это было бы интересно для сборщиков, которые хотят взаимодействовать с контейнерами агностическим способом. Но я не уверен, что Cargo допускает всю гибкость специального плагина GlassFish (например, развертывание ресурсов JMS и т.д.).

Ответ 2

maven-glassfish-plugin и maven-embedded-glassfish-plugin имеют свои плюсы и минусы. Основное различие заключается в том, что последний работает с экземпляром Embedded Glassfish, как указано его именем, то есть сервер работает в той же виртуальной машине, что и плагин.

Итак, вы не можете использовать плагин maven-embedded-glassfish для развертывания WAR на автономном сервере Glassfish, для этого вам нужен плагин maven-glassfish.

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

glassfish: развертывание не работает, если WAR уже развернут. glassfish: redeploy не работает, если WAR не развернут. И у Maven нет логики if-else...

Ответ 3

Я написал о том, как настроить плагин Maven Embedded GlassFish для правильной работы с GlassFish 4.0 до появления новой версии этого плагина.

https://blogs.oracle.com/brunoborges/entry/glassfish_4_beta_and_maven

Кроме того, можно настроить источник данных в файле glassfish-resources.xml и заставить его работать правильно.

https://blogs.oracle.com/brunoborges/entry/configure_datasources_for_maven_embedded

Это полезные советы для тех, кто хочет запускать проекты Java EE 7 с Maven и GlassFish 4

Ответ 5

Я использую плагин Glassfish на maven-glassfish-plugin.dev.java.net и сделал некоторые изменения кода для поддержки v3 сейчас. Я запросил статус коммиттера и дождался подтверждения. Надеюсь, я могу внести свои изменения.