*.war
作成した(展開した)ターゲットを${TOMCAT_HOME}/webapps
使用して展開したい。ant
構成
私のTomcatのバージョンは7.0.37で、次のとおりtomcat-users.xml
です。
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager-gui"/>
<user username="tomcat" password="tomcat" roles="tomcat,manager-gui"/>
<user username="both" password="tomcat" roles="tomcat,role1,manager-gui"/>
<user username="role1" password="tomcat" roles="role1"/>
war.properties
は :
# War Build Properties
package.dir=${basedir}/package
war.exploded.dir=${deploy.dir}/war-ex
# --------- Tomcat Settings ---------------
# FIXME : tomcat.url=http://localhost:8080/manager/text
tomcat.url=http://localhost:8080/manager
tomcat.username=tomcat
tomcat.password=tomcat
context-path=/eccount
私のdeploy-war
目標は次のとおりです(tomcat-deploy.xml
):
<taskdef name="catalina-deploy" classname="org.apache.catalina.ant.DeployTask" classpathref="catalina.lib.classpath"/>
<target name="deploy-war" depends="build-wardir" description="Install web app">
<catalina-deploy url="${tomcat.url}"
username="${tomcat.username}"
password="${tomcat.password}"
path="${context-path}"
localwar="file://${war.exploded.dir}"/>
</target>
問題
コマンドラインからヒットするとant deploy-war
、次の例外が発生します。
FileNotFoundException : http://localhost:8080/manager/deploy?path=%2Feccount&war=file%3A%2F%2FC%3A%5Ceccount%2Fdeploy%2Fwar-ex
file:///C:/eccount/deploy/war-ex
ただし、 Web ブラウザから同じパスにアクセスできます。
参考文献
Tomcat 7.0.37 で新しいアプリケーションをリモートでデプロイする