Frage

Ich habe versucht, Java .war die in Glassfish V3 durch Maven Integration einsetzen. Während ich ein paar Plugins gefunden haben, keiner von ihnen sehen sehr aktiv sein:

Und ich habe die meisten Informationen aus Eskato des Blog wurde März 2008 geschrieben, so dass ich weiß nicht, was der Staat von Glassfish Maven Integration, noch finde ich ein geeignetes Plugin zu arbeiten. Mit dem Maven Plugin Glassfish Ich habe einige Erfolge gehabt, aber es funktioniert immer noch nicht ganz gut für alle Ziele sagt, es unterstützt, die einige der Befehle unwirksam macht.

Hat jemand anderes in der Lage gewesen, Glassfish V3 und Maven erfolgreich zu integrieren? Wenn ja, welche Ressourcen haben Sie verwendet es zu tun bekommen?

War es hilfreich?

Lösung

Update: CARGO-491 wurde behoben, und ich habe meine Antwort entsprechend aktualisiert. Zusammenfassend gibt es nun grundsätzlich drei Möglichkeiten:

Maven Plugin Glassfish

Eine erste Möglichkeit wäre die Verwendung der Maven Plugin Glassfish. Dieses Plugin ermöglicht es mit einem lokalen oder entfernten Glassfish installieren und den Verwaltung von Glassfish-Domänen und Komponenten-Implementierungen innerhalb des Maven baut Lebenszyklus .

zu interagieren

Maven Plugin Eingebettete Glassfish

Die zweite Option wäre, die Maven Plugin Eingebettete Glassfish . Wie der Name schon sagt, dieses Plugin basiert nicht auf eine vorhandene Installation, sondern nutzt eine Glassfish eingebettet, in der gleichen JVM wie das Plugin läuft. Dieses Plugin ist sehr schön, wenn Sie Ihren Build tragbar halten wollen (jeder kann Ihre POM erhalten und einen Build beteiligt Glassfish laufen, ohne es installiert ist) mit fast die gleichen Funktionen wie eine normale Glassfish installieren, mit der Ausnahme Clustering natürlich (man kann ein verwenden vorkonfigurierte domain.xml wenn Sie möchten). Siehe Testen mit dem Glassfish Maven Plugin und JavaDB Embedded für ein Beispiel.

Maven Cargo-Plugin

Die von Kohsuke Kawagushi begonnene Arbeit als schließlich in Fracht integriert und mit Cargo-Start 1.0.1, Glassfish 3.x wird nun unterstützt . Unter Verwendung der Maven Cargo-Plugin ist somit eine dritte Option. Dies wäre interessant für Builds, die mit Containern in einem agnostischen Weise zu interagieren möchten. Aber ich bin nicht sicher, ob alle Fracht der Flexibilität der Glassfish-spezifischen Plugin ermöglicht (e) (zum Beispiel Einsatz von JMS-Ressourcen, etc.).

Andere Tipps

Maven-Glassfish-Plugin und Maven-embedded-Glassfish-Plugin beide haben ihre Vor- und Nachteile. Der Hauptunterschied ist, dass letztere arbeitet mit eingebettetem Glasfischen Weise kann, wie der Name schon sagt, das heißt der Server wird als Plug-in in der gleichen VM ausgeführt wird.

So Sie nicht Maven-embedded-Glassfish-Plugin verwenden können, um IST auf einen eigenständigen Glassfish Server zu implementieren, müssen Sie Maven-Plugin-Glasfische, das zu tun.

Das Hauptproblem ich mit der Maven-Glassfish-Plugin hatte, ist die Tatsache, dass seine Wechselwirkung mit dem Glassfish Server Stateful ist - ich konnte nicht einen Weg finden, es zu benutzen, so dass mein IST würde auf jedem Fall auf den Server bereitgestellt bekommen , egal, ob die vorherige Build erfolgreich war oder nicht.

Glasfischen: deploy nicht funktioniert, wenn der Krieg bereits eingesetzt wird. Glasfischen: redeploy funktioniert nicht, wenn der Krieg nicht bereitgestellt wird. Und Maven hat keine if-else-Logik ...

Ich habe darüber gebloggt, wie Maven Eingebettete Glassfish-Plugin zu konfigurieren richtig mit Glassfish 4.0 zu arbeiten, bis es eine neue Version des Plugins ist.

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

Auch ist es möglich, eine Datenquelle in dem Glassfish-resources.xml zu konfigurieren und hat es richtig funktioniert.

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

Dies sind nützliche Tipps für jeden, der Java EE 7 Projekte mit Maven und Glassfish 4

ausgeführt werden soll

Ich verwende das Plugin auf Glassfish maven-glassfish-plugin.dev.java.net und einige Änderungen am Code haben v3 jetzt zu unterstützen. Ich bat Committer-Status und für die Bestätigung warten. Hoffentlich kann ich meine Änderungen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top