Javaの道 Javaに関する
 ニュースJava基本Servlet・JSPオープンソースFAQ掲示板
Javaの道 > オープンソース > Ant −3.Tomcat向けタスク
更新日:2006/6/3
Ant−3.Tomcat向けタスク
Tomcatでは、Tomcatを操作できるAntタスクが用意されています。ここではそのAntタスクについて解説します。AntタスクはTomcatのWeb Application Managerの機能を通じてTomcatを操作します。Web Application Managerの詳細についてはJavaの道:Tomcat(Web Application Manager)を参照してください。

実行環境
・Windows2000 Professional
・J2SDK 1.4.1_05
・Ant 1.6.1
・Tomcat 5.0.18
事前準備
Tomcat向けAntタスクを使用するために、以下の設定をします。
1. catalina-ant.jarファイルの設置
  $CATALINA_HOME\server\libディレクトリ配下にあるcatalina-ant.jarを$ANT_HOME\libディレクトリ配下に設置します。
2. ID、Passwordの設定
  Web Application ManagerにログインするためのID、Passwordを設定します。ID、Passwordはmanagerロールに属している必要があります。デフォルトの設定では$CATALINA_HOME\confディレクトリ配下のtomcat-users.xmlに以下の設定をします。
【tomcat-users.xml】
<?xml version='1.0' encoding='utf-8'?>

<tomcat-users>
  <role rolename-"tomat"/>
  <role rolename="role1"/>
  <role rolename="manager"/>
  ----------------------------------
  ----------------------------------
  <!-- username属性にID、password属性にPasswordを設定する。 -->
  <user username="admin" password="admin" roles="manager"/>
</tomcat-users>
3. <taskdef>タグの設定
  Antにあらかじめ用意されていないタスクを使用する場合は、build.xmlに<taskdef>タグで使用するタスクを宣言する必要があります。
【build.xml】
----------------------------------
----------------------------------

<!-- taskdefタグでタスクを宣言する。 -->
<taskdef name="list" 
         classname="org.apache.catalina.ant.ListTask"/>
<taskdef name="install" 
         classname="org.apache.catalina.ant.InstallTask"/>
<taskdef name="remove" 
         classname="org.apache.catalina.ant.RemoveTask"/>
<taskdef name="start" 
         classname="org.apache.catalina.ant.StartTask"/>
<taskdef name="stop" 
         classname="org.apache.catalina.ant.StopTask"/>
<taskdef name="reload" 
         classname="org.apache.catalina.ant.ReloadTask"/>
<taskdef name="deploy" 
         classname="org.apache.catalina.ant.DeployTask"/>
<taskdef name="undeploy" 
         classname="org.apache.catalina.ant.UndeployTask"/>
<taskdef name="resources" 
         classname="org.apache.catalina.ant.ResourcesTask"/>
<taskdef name="roles" 
         classname="org.apache.catalina.ant.RolesTask"/>

----------------------------------
----------------------------------
4. Tomcatの起動
  TomcatのWeb Application Manager経由でタスクを実行するため、タスクを実行する際はTomcatを起動しておく必要があります。
タスク一覧
Tomcat向けタスクで使用される属性について解説します。Tomcat向けタスクは以下に解説する属性を元に動作します。
【Tomcat向けタスクで利用する属性】
属性
内容
url
Web Application ManagerのURLを指定します。指定しない場合は、http://localhost:8080/managerが適用されます。
username
Web Application ManagerにログインするためのIDを指定します。IDはmanagerロールに属している必要があります。
password
Web Application ManagerにログインするためのPasswordを指定します。Passwordはmanagerロールに属している必要があります。
config
コンテキスト.xmlへのパスを指定します。デフォルト設定以外の方法でコンテキストをインストールする場合に指定します。
path
操作の対象となるコンテキストへのURLパス名を指定します。パス名は/から始まります。
war
コンテキストの構成要素をwarファイルもしくは、ディレクトリで指定します。指定フォーマットは以下のようになります。

・Tomcatサーバ上のディレクトリを指定する場合
構文:file:/該当ディレクトリへのパス
例:file:/C:\con

・Tomcatサーバ上のWARファイルを指定する場合
構文:file:/該当WARファイルへのパス
例:file:/C:\con.war

・リモート環境からWARファイルを指定する場合
構文:jar:file:/該当WARファイルへのパス!/
例:jar:file:/C:\con.war!/

・リモート環境からWARファイルをHTTP経由で指定する場合
構文:jar:http://hostname:port/該当WARファイルへのパス!/
例:jar:http://www.tomcat.com/con.war!/
list
実行中のコンテキストの一覧を表示します。一覧は「コンテキスト名:ステータス:セッション数」のフォーマットで表示されます。
【listに設定できる属性】
url, username, password
【listの使用例】
<target name="list">
  <list url="http://localhost:8080/manager"
        username="admin"
        password="admin"/>
</target>
install
指定したコンテキストをTomcatにインストールします。一時的にインストールするだけであり、Tomcatを再起動するとインストールは無効になります。デバッグ作業時に使用します。完全にTomcatにインストールしたい場合はdeployタスクを使用します。
【installに設定できる属性】
url, username, password, config, path, war
【installの使用例】
<target name="install">
  <install url="http://localhost:8080/manager"
           username="admin"
           password="admin"
           path="/test"
           war="file:/C:\java\Tomcat_test"/>
</target>
remove
指定したコンテキストをTomcatからアンインストールします。コンテキストの情報をTomcatのメモリから削除するだけであり、コンテキスト構成ファイル、warファイルの削除は行いません。installタスクと逆の動作をします。コンテキスト構成ファイルの削除、コンテキスト.xmlの変更を行いたい場合はundeployタスクを使用します。
【removeに設定できる属性】
url, username, password, path
【removeの使用例】
<target name="remove">
  <remove url="http://localhost:8080/manager"
          username="admin"
          password="admin"
          path="/test"/>
</target>
start
指定したコンテキストを起動させます。コンテキストはpath属性で指定します。
【startに設定できる属性】
url, username, password, path
【startの使用例】
<target name="start">
  <start url="http://localhost:8080/manager"
         username="admin"
         password="admin"
         path="/test"/>
</target>
stop
指定したコンテキストを停止させます。コンテキストはpath属性で指定します。
【stopに設定できる属性】
url, username, password, path
【stopの使用例】
<target name="stop">
  <stop url="http://localhost:8080/manager"
        username="admin"
        password="admin"
        path="/test"/>
</target>
reload
指定したコンテキストを再起動させます。コンテキストはpath属性で指定します。サーブレットの変更、web.xmlの変更など変更内容を反映させるために再起動が必要な場合に使用します。
【reloadに設定できる属性】
url, username, password, path
【reloadの使用例】
<target name="reload">
  <reload url="http://localhost:8080/manager"
          username="admin"
          password="admin"
          path="/test"/>
</target>
deploy
指定したコンテキストをTomcatにデプロイします。installとの違いはTomcatを再起動した後もコンテキストがデプロイされたまま(コンテキストが利用可能)ということです。deployを実行した後はコンテキスト構成ファイルとwarファイルが$CATALINA_HOME\webappsディレクトリ配下に生成されます。deployタスクを使用する場合、war属性は「file:/該当WARファイルへのパス 」の構文を指定する必要があります。
【deployに設定できる属性】
url, username, password, config, path, war
【deployの使用例】
<target name="deploy">
  <deploy url="http://localhost:8080/manager"
          username="admin"
          password="admin"
          path="/test"
          war="file:/C:\java\test.war"/>
</target>
undeploy
指定したコンテキストをTomcatからアンデプロイします。removeとの違いはコンテキスト構成ファイル、warファイルも削除されることです。deployタスクと逆の動作をします。
【undeployに設定できる属性】
url, username, password, path
【undeployの使用例】
<target name="undeploy">
  <undeploy url="http://localhost:8080/manager"
            username="admin"
            password="admin"
            path="/test"/>
</target>
resources
使用可能なJNDIリソースの一覧を表示します。type属性を指定することにより、表示するJNDIリソースを制限することができます。
【resourcesに設定できる属性】
url, username, password, type
【resourcesの使用例】
<target name="resources">
  <resources url="http://localhost:8080/manager"
             username="admin"
             password="admin"
             type="javax.sql.DataSource"/>
</target>
roles
設定しているセキュリティロールの一覧を表示します。
【rolesに設定できる属性】
url, username, password
【rolesの使用例】
<target name="roles">
  <roles url="http://localhost:8080/manager"
         username="admin"
         password="admin"/>
</target>
Ant
1.インストール
2.基本操作
3.Tomcat向けタスク



このページのトップへ
 ニュースJava基本Servlet・JSPオープンソースFAQ掲示板
Javaの道_CopyrightJavaの道