如何使用 Ant 的 DeployTask 将 Web 应用程序部署到 Tomcat?


$ ant deploy
Buildfile: /Users/simpatico/SOLR_HOME/build.xml
deploy:
BUILD FAILED
/Users/simpatico/SOLR_HOME/build.xml:531: java.io.IOException: Server returned HTTP response code: 403 for URL: http://localhost:8080/manager/deploy?path=%2Fsolr
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1436)
    at org.apache.catalina.ant.AbstractCatalinaTask.execute(AbstractCatalinaTask.java:228)
Total time: 2 seconds

在构建中.xml:

<!--http://tomcat.apache.org/tomcat-5.5-doc/manager-howto.html#Executing_Manager_Commands_With_Ant-->
  <!-- Configure properties to access the Manager application -->
  <property name="url"      value="http://localhost:8080/manager"/>
  <property name="username" value="admin"/>
  <property name="password" value="admin"/>
  <!-- Configure the custom Ant tasks for the Manager application -->
  <taskdef name="deploy"    classname="org.apache.catalina.ant.DeployTask"/>
<!-- Configure the context path for this application -->
  <property name="path"     value="solr"/>
  <target name="deploy" description="Install web application"
          >
    <deploy url="${url}" username="${username}" password="${password}"
            path="${path}" war="file:${dist}/solr.war"/>
  </target>

/solr 和 solr 的路径都不起作用。

<tomcat-users>
    <role rolename="manager-gui"/>
    <user password="admin" roles="manager-gui,manager-script,admin" username="admin"/>
</tomcat-users>

编辑:现在它无法部署应用程序已经存在于路径/solr

取消部署

:[取消部署] 确定 - 未部署 上下文路径/solr 中的应用程序

部署

:[部署] 失败 - 应用程序 在路径/solr 中已经存在

构建失败 /Users/simpatico/SOLR_HOME/build.xml:532: 失败 - 应用程序已存在于 路径/solr

如果您查看管理器应用程序的文档页面,您可以看到主要区别在于脚本的 URL。该示例使用(请注意/text部分(:

<property name="url"      value="http://localhost:8080/manager/text"/>

在 *nix 环境中,您必须检查哪个用户运行服务器,以及该用户是否具有更改 Web 目录下文件的正确权限。

<target name="tomcatdeploy" description="Install web application"  >
    <deploy_tomcat url="${admin.url}" username="${admin.name}" password="${admin.password}" path="/${webapp}" war="file:${dropoff.warfile.dir}/${webapp}.war"/>
</target>
 <target name="check-context">
    <available file="${app.base.dir}/${webapp}.war" property="context.present"/>
</target>
<target name="undeploy" depends="check-context" if="context.present" description="Remove web application" >
   <undeploy_tomcat   url="${admin.url}" username="${admin.name}" password="${admin.password}" path="/${webapp}"/>
</target> 
首先调用">

取消部署",然后调用"tomcatdeploy"ant任务。您必须根据需要提供 ${pamram} 值。"取消部署"任务将检查Webapps目录中是否存在给定的战争文件,如果是,它将执行实际的取消部署。

相关内容

  • 没有找到相关文章

最新更新