2

私は春のチュートリアルに従っています。その点で、antタスクでTomcatを制御します。以前、Tomcat 7マネージャーアプリは以前のバージョンとは異なるため、いくつかの問題に直面しました。しかし、私はそれらを修正することができました。これで、antlisttaskは正常に機能しています。しかし、他の人はそうではありません。たとえば、antstarttaskはこのエラーを返します。

start-webapp:

BUILD FAILED
C:\Users\rsenarath\workspace\myspringapp\build.xml:108: java.io.IOException: Server returned HTTP response code: 401 for URL: http://localhost:8080/manager/text/start?path=%2Fmyspringapp

しかし、ブラウザにurl(http:// localhost:8080 / manager / text / start?path =%2Fmyspringapp)をコピーすると、ユーザー名パスワードの入力を求められ、次のように問題なく応答します。

OK - Started application at context path /myspringapp

誰かがこれで私を助けることができますか?私のbuild.propertiesは以下の通りです

appserver.name=tomcat
appserver.home=C:/Users/rsenarath/apache-tomcat-7.0.34
appserver.lib=${appserver.home}/lib
appserver.bin=${appserver.home}/bin
deploy.path=${appserver.home}/webapps

tomcat.manager.url=http://localhost:8080/manager/text
tomcat.manager.username=tomcat
tomcat.manager.password=s3cret

およびansタスクは次のとおりです

<path id="catalina-ant-classpath">
    <fileset dir="${appserver.lib}">
        <include name="catalina-ant.jar"/>
        <include name="tomcat-coyote.jar"/>
        <include name="tomcat-util.jar"/>
    </fileset>
    <fileset dir="${appserver.home}/bin">
        <include name="tomcat-juli.jar"/>
    </fileset>
</path>

<taskdef name="catalina-deploy" classname="org.apache.catalina.ant.DeployTask" classpathref="catalina-ant-classpath"/>
<taskdef name="catalina-list" classname="org.apache.catalina.ant.ListTask" classpathref="catalina-ant-classpath"/>
<taskdef name="catalina-reload" classname="org.apache.catalina.ant.ReloadTask" classpathref="catalina-ant-classpath"/>
<taskdef name="catalina-resources" classname="org.apache.catalina.ant.ResourcesTask" classpathref="catalina-ant-classpath"/>
<taskdef name="catalina-start" classname="org.apache.catalina.ant.StartTask" classpathref="catalina-ant-classpath"/>
<taskdef name="catalina-stop" classname="org.apache.catalina.ant.StopTask" classpathref="catalina-ant-classpath"/>
<taskdef name="catalina-undeploy" classname="org.apache.catalina.ant.UndeployTask" classpathref="catalina-ant-classpath"/>

<target name = "stop-webapp">
    <catalina-stop url="${tomcat.manager.url}"
                         username="${tomcat.username}"
                         password="${tomcat.password}"
                         path="/${name}"
                         failonerror="false"/>
</target>

<target name = "start-webapp">
    <catalina-start url="${tomcat.manager.url}"
                       username="${tomcat.username}"
                       password="${tomcat.password}"
                       path="/${name}"/>
</target>

<target name="list-webapp" description="List Tomcat applications">
    <catalina-list url="${tomcat.manager.url}"
                 username="${tomcat.manager.username}"
                 password="${tomcat.manager.password}"/>
</target>
4

1 に答える 1

1

start-webappおよびstop-webappターゲットでは、ユーザー/パスに次の変数を使用します。

tomcat.username
tomcat.password

ただし、構成データでは、次のように設定します。

tomcat.manager.username
tomcat.manager.password

したがって、start-webappターゲット、つまり401を実行するときに、ユーザー名とパスワードが設定されていない可能性があります。おそらく、構成に一致するように開始ターゲットと停止ターゲットの変数名を更新できます。

于 2012-12-20T11:14:48.183 に答える