Я использую Maven 3.0.4 с maven-glassfish-plugin 2.1 (http://maven-glassfish-plugin.java.net/) и Glassfish 2.1.1.
Соответствующий фрагмент POM.XML:
<profile>
<id>deploy</id>
<build>
<plugins>
<plugin>
<groupId>org.glassfish.maven.plugin</groupId>
<artifactId>maven-glassfish-plugin</artifactId>
<version>2.1</version>
<configuration>
<glassfishDirectory>/home/user/glassfish</glassfishDirectory>
<domain>
<name>domain1</name>
<host>hostname</host>
<adminPort>4848</adminPort>
</domain>
<autoCreate>false</autoCreate>
<terse>true</terse>
<debug>false</debug>
<echo>true</echo>
<user>admin</user>
<passwordFile>/home/user/user.gfpass</passwordFile>
<components>
<component>
<name>${project.artifactId}</name>
<artifact>${project.build.directory}/${project.build.finalName}.war</artifact>
</component>
</components>
</configuration>
</plugin>
</plugins>
</build>
</profile>
Проблема в том, что сервер Glassfish, на который я развертываю, имеет один автономный экземпляр для каждого разработчика, и запуск mvn glassfish:deploy
вызывает:
[INFO] --- maven-glassfish-plugin:2.1:deploy (default-cli) @ project ---
[INFO] deploy --port 4848 --enabled=true --host hostanme --precompilejsp=false --verify=false --echo=true --upload=true --terse=true --generatermistubs=false --passwordfile /home/user/user.gfpass --interactive=false --availabilityenabled=false --name project --target server --force=true --user admin /home/user/git/project/target/project-1.0.0-SNAPSHOT.war
[ERROR] CLI171 Command deploy failed : Application project is already deployed on other targets. Please remove all references or specify all targets (if not using asadmin command line) before attempting redeploy operation
[ERROR] Deployment of /home/user/git/project/target/project-1.0.0-SNAPSHOT.war failed.
Обратите внимание на --target server
в выполняемой команде.
Как я могу указать в POM, на какой экземпляр (например, target
) я хочу выполнить развертывание?