1

第一次在这里海报。我正在设置一个新的 Tomcat 8 实例,并尝试从我的 build.xml 脚本(通过 IntelliJ)中使用 Tomcat 8 管理器。我正在使用 list 命令来测试连接,但我真正想要的是停止/启动/重新部署/等。我已经成功地测试了 manager/text/ 和 manager/html。

[Windows 7 盒子]

传入tomcat-users.xml的代码片段:

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

构建.xml:

<target name="list"
   description="List installed applications on servlet container">
    <echo>List Using:(${manager.url})  [${manager.username}|${manager.password}]</echo>
    <list    url="${manager.url}"
        username="${manager.username}"
        password="${manager.password}"/>

  </target>

IntelliJ 的“列表”任务的输出:

List Using:(http://localhost:8080/manager/text)  [script|test]
Task: list
C:\apps\myapp\build.xml:478: java.net.ConnectException: Connection refused: connect
at org.apache.catalina.ant.AbstractCatalinaTask.execute(AbstractCatalinaTask.java:269)
...etc

我去的每个教程都谈到了设置 Tomcat-Users.xml 或为管理器打开端口 8443,但是如果你确认管理器正在运行(它是)但是 build.xml/,我还没有看到如何做的答案ANT 似乎很难获得授权。

4

1 回答 1

0

检查事项:

  • 您是否确实确认经理应用程序已部署到/manager上下文中?它仅默认部署在默认主机上。对于其他虚拟主机,这是您必须手动执行的操作。尝试http://localhost:8080/manager使用您的网络浏览器访问。尝试使用该manager-gui用户登录。

  • 您的 tomcat 实例是否运行多个虚拟主机?如果是这样,您的 ant 任务可能正在访问与您想要的不同的虚拟主机。检查您的$CATALINA_HOME/conf/server.xml文件<Engine><Host>元素。<Engine>只包含一个吗<Host>?如果它包含多个主机,name属性设置是什么?set to的defaultHost属性是什么?<Engine>

于 2013-10-16T17:09:04.550 回答