Какой плагин Maven GlassFish использовать? - PullRequest
32 голосов
/ 03 декабря 2009

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

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

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

Ответы [ 5 ]

41 голосов
/ 03 декабря 2009

Обновление: 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 Plugin

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

8 голосов
/ 11 мая 2010

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

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

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

glassfish: развертывание не работает, если WAR уже развернут. glassfish: повторное развертывание не работает, если WAR не развернут. А у Мэйвена нет логики "если-то еще" ...

2 голосов
/ 10 апреля 2013

Я писал о том, как настроить плагин 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

1 голос
0 голосов
/ 19 марта 2010

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

...