maven cactusは、自動的にApplication Server(Tomcat, etc.)を起動して、コンテナTestを実行し、Applocation Serverを終了させる。
Unit Test、コンテナTestの自動Testには便利だが、Applicationをブラウザで確認したい場合もある。
その時は、maven-tomcat-pluginが便利。ただし、これは、3rd Party Pluginであるため、別途入手が必要。
1) Application Server(Tomcat)の設定、起動
${TOMCAT_HOME}/conf/tomcat-user.xml
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/> <-- ここ
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="role1" password="tomcat" roles="role1"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="manager" password="manager" roles="manager"/> <-- ここ
</tomcat-users>
2) 開発環境の設定
${HOME}/build.properties
maven.repo.remote= \
http://www.ibiblio.org/maven/, \
http://www.codeczar.com/maven/ ← ここ
projext.xml
<dependencies>
...
<dependency>
<groupId>codeczar-tomcat</groupId>
<artifactId>maven-tomcat-plugin</artifactId>
<version>1.1</version>
<type>plugin</type>
</dependency>
</dependencies>
project.properties
maven.tomcat.precompile = false
maven.tomcat.webapp.dir = ${maven.war.webapp.dir}
3) Application Server(Tomcat)へのInstall
$ maven tomcat:install
[echo] /web
build:start:
tomcat:jspc:
[echo] maven.tomcat.precompile = 'false' skipping pre-compile Tag library requested that is not present: 'maven' in plugin: 'maven-xdoclet-plugin-1.2'
war:init:
war:war-resources:
java:prepare-filesystem:
java:compile:
xdoclet:webdoclet:
[echo] Compiling to /home/miyachi/Projects/Examples/ex04/target/classes
java:jar-resources:
test:prepare-filesystem:
test:test-resources:
test:compile:
test:test:
[junit] Running example.web.SanityTest
[junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.022 sec
war:webapp:
[echo] Assembling webapp web
tomcat:mergexml:
tomcat:install:
[echo] /web
[install] OK - Deployed application at context path /web
[install]
BUILD SUCCESSFUL
Total time: 5 seconds
Finished at: Mon Oct 03 14:21:22 JST 2005
$
4) Application Serverへのアクセス
http://localhost:8080/web/で確認してみよう!。