mavenでwarファイルへのパッケージ&Tomcatサーバーへリモートアクセスデプロイ
Maven2ではプロファイルでCargo - Maven2 pluginを使うことによって、デプロイしてその後にサーバーへリモートデプロイすることができます。
これによって、テストサーバー等へのデプロイの手間やミスも減り効率がすごくよくなりますので、プロジェクト初期には設定しておきたいところ。
pom.xmlへの記述
<profiles> <!-- コマンドプロンプトから次のコマンドを実行したときのプロファイル "mvn package -P test-release" --> <profile> <id>test-release</id> <activation> <!-- デフォルトプロファイル: true --> <activeByDefault>false</activeByDefault> </activation> <properties> <maven.test.skip>false</maven.test.skip> </properties> <build> <finalName>ExampleApp</finalName> <resources> <resource> <filtering>true</filtering> <directory>src/test-release/resources</directory> </resource> <resource> <filtering>false</filtering> <directory>src/main/resources</directory> </resource> </resources> <plugins> <plugin> <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-maven2-plugin</artifactId> <configuration> <configuration> <properties> <cargo.tomcat.manager.url>http://192.168.0.138:8080/manager</cargo.tomcat.manager.url> <cargo.remote.username>admin</cargo.remote.username> <cargo.remote.password>admin</cargo.remote.password> </properties> <type>runtime</type> </configuration> <container> <containerId>tomcat6x</containerId> <type>remote</type> </container> <deployer> <deployables> <deployable> <groupId>example.com</groupId> <artifactId>example</artifactId> <type>war</type> <properties> <context>ExampleApp</context> </properties> </deployable> </deployables> </deployer> </configuration> <executions> <!-- すでにアプリケーションが存在する場合はエラーになるのでundeployする --> <execution> <id>test-undeploy</id> <phase>package</phase> <goals> <goal>undeploy</goal> </goals> </execution> <execution> <id>test-deploy</id> <phase>package</phase> <goals> <goal>deploy</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <profiles>