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/で確認してみよう!。