Maven & Deployment

JonnyRico

Mitglied
Hi,

ich setze den JBossAS ein und würde gerne meine Anwendung bzw. ein Projekt in einem Zug deployen. Mein Problem ist, dass die Anwendung in einem EAR-File zusammengefasst wird und nur das möchte ich logischerweise dann auch deployen. Meine Projektstruktur ist die folgende:

myProject/
... my-api
... my-ear
... my-entity
... my-impl
... pom.xml

Das pom-File des Projekts sieht so aus:

[XML]<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.myProject</groupId>
<artifactId>myProject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Duck</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
</dependencies>
<distributionManagement>
<repository>
<id>nexus</id>
<url>http://...</url>
</repository>
<snapshotRepository>
<id>nexus</id>
<url>http://...</url>
</snapshotRepository>
</distributionManagement>
<modules>
<module>my-api</module>
<module>my-impl</module>
<module>my-entity</module>
<module>my-ear</module>
</modules>
</project>
[/XML]

Derzeit rufe ich auf:

1. cd myProject
mvn clean package install

2. cd my-ear
mvn jboss:hard-deploy

Und genau diesen zweiten Schritt würde ich einfach gerne vermeiden. Ich möchte mit einem Aufruf das komplette Projekt builden und dann sofort NUR das ear-file auf dem Server deployen.

Weiß vielleicht irgendjemand Rat? Vielen Dank im Voraus.

Gruß

Jonny
 
Maven ist ein Build Tool, es für Deployment auf Prod Server zu nutzen ist missbrauch, vor allem bei einem clean install (wozu nochmals package angeben, macht er doch schon vor dem install automatisch?), dafür ist ein install einfach nciht da, install soll bauen und ins lokale Repo deployen, fertig.

Ich kann mir vorstellen dass das nicht die Antwort ist die du hören möchtest, aber das ist meine Meinung nach über 2 Jahren Maven2 Erfahrung, und damit bin ich nicht alleine.

Oder möchtest du nur für Integrationstests auf Servern deployen du u.U. von Maven installiert & konfiguriert wurden?
 
Hi,

es geht nur um das Deployment während der Entwicklung. Ich würde gerne, wenn ich in Eclipse eine neun Bugfix vornehme oder neue Funktionalität implementiere auf "Play" drücken können und hätte dann gerne das zuvor beschriebene verhalten. Das fände ich im Entwicklungsprozess wirklich hilfreich. Natürlich würde ich auch gerne hören, wie andere Entwickler das handhaben. Vielleicht bin ich da ja auch auf dem Holzweg, aber während der Entwicklung deployt und testet man dann ja auch ganz gerne mal ein bisschen was und das hätte ich gerne so komfortabel wie möglich.

Gruß

Jonny
 
Hallo,

dafür würde ich vorschlagen das Ganze als Integrations-Test zu implementieren und dass dann z.B. cargo Plugin...

Dann brauchst Du nur noch mvn integration-test und fertig....wenn Du ein mvn install wird das automatisch mit gemacht...

Wäre mein Vorschlag...das mit dem Deploy sehe ich genauso....

Gruß
Karl Heinz Marbaise
 
es geht nur um das Deployment während der Entwicklung.
Ach so, Dachte du meinst einen Deploy in ein Prodsytem.
Siehe kamas Vorschlag,d as Cargo Plugin ist imho besser als das maven JBosss Plugin, aber auch komplexer.

dafür würde ich vorschlagen das Ganze als Integrations-Test zu implementieren und dass dann z.B. cargo Plugin...

Dann brauchst Du nur noch mvn integration-test und fertig....wenn Du ein mvn install wird das automatisch mit gemacht...
Das gute alte Cargo plugin 🙂
Installieren, konfigurieren, deployen, testen und wieder runterfahren, alles vollautomatisch!
Dazu noch die Db installieren und befüllen, am besten alles in einem eigenen Modul, so macht Maven Spass.
 
Moin,

super, danke euch beiden. Ich werde das Plugin mal testen 😉

Gruß

Jonny

P.s. Klasse Community. Ich dachte es wäre schwieriger mit Anden JEE-Entwicklern in Kontakt zu kommen 😀
 

Zurück
Oben