Problem#
Das Glassfish-Plugin hat viele Parameter, deshalb soll es im Parent pom.xml definiert werden. Das Plugin erlaubt aber keine Steuerung, ob ein Projekt deployed werden soll oder nicht.Lösung#
Die Intersult hat das Glassfish-Plugin erweitert.<project> <build> <plugins> <plugin> <groupId>com.intersult</groupId> <artifactId>maven-glassfish-plugin</artifactId> <version>1.1-SNAPSHOT</version> <configuration> <glassfishDirectory>${env.GLASSFISH_HOME}</glassfishDirectory> <user>admin</user> <adminPassword>adminadmin</adminPassword> <autoCreate>false</autoCreate> <debug>true</debug> <echo>true</echo> <terse>true</terse> <skip>true</skip> <domain> <name>domain1</name> <adminPort>4848</adminPort> <httpPort>8080</httpPort> <httpsPort>8443</httpsPort> <iiopPort>3700</iiopPort> <jmsPort>7676</jmsPort> <reuse>true</reuse> </domain> <components> <component> <name>${project.artifactId}</name> <artifact>${project.build.directory}/${project.build.finalName}.${packaging}</artifact> </component> </components> </configuration> </plugin> ... </plugins> </build> ... <pluginRepositories> <pluginRepository> <id>intersult-repo</id> <name>Intersult Repository</name> <url>http://intersult.com/public/maven</url> </pluginRepository> ... </pluginRepositories> </project>
Der zusätzliche Parameter <skip>true</skip> gibt an, dass das Plugin nicht selbst bei Angabe vom Goal glassfish:deploy nicht ausgeführt wird.
in WAR-Projekten oder EAR-Projekten kann dann kurzerhand das Goal aktiviert werden:
... <plugin> <groupId>com.intersult</groupId> <artifactId>maven-glassfish-plugin</artifactId> <configuration> <skip>false</skip> </configuration> </plugin> ...