5

我有两个关于 Arquillian 和 Tomcat 的问题:

-我的 arquillian 测试失败并显示以下错误消息:

org.jboss.jsfunit.example.hellojsf.HelloJSFTest 已用时间:0 秒 <<< 错误!org.jboss.arquillian.container.spi.ConfigurationException:无法连接到 Tomcat 管理器。服务器命令 (/deploy?path=%2Ftest) 因 responseCode (401) 和 responseMessage (Non-Autorisé) 而失败。请确保您向能够访问 Tomcat 管理器应用程序的用户提供了正确的凭据。这些凭据可以在 Arquillian 容器配置中指定为“user”和“pass”属性。用户必须具有在 tomcat-users.xml 文件中指定的适当角色。

仅供参考,我的 arquillian.xml 文件如下:

<arquillian xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://jboss.org/schema/arquillian
        http://jboss.org/schema/arquillian/arquillian-1.0.xsd">
      <engine>
        <property name="deploymentExportPath">target/</property>
         <property name="jmxPort">8099</property>
        <property name="user">admin</property>
        <property name="pass">admin75</property>
    </engine>

    <defaultProtocol type="Servlet 2.5" />
     <container qualifier="tomcat-remote">
        <configuration>
            <property name="jmxPort">8099</property>
            <property name="user">admin</property>
            <property name="pass">admin75</property>
        </configuration>
    </container>
</arquillian>

我正在尝试为 tomcat 6 调整示例应用程序。有人可以帮忙吗?

-Arquillian 什么时候支持 tomcat 7?

问候,

J。

tomcat-users.xml:

<tomcat-users>
  <role rolename="manager"/>
  <role rolename="tomcat"/>
  <role rolename="admin"/>
  <role rolename="role1"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="admin" password="admin75" roles="manager,admin"/>

</tomcat-users>
4

1 回答 1

2

这条信息

无法连接到 Tomcat 管理器。服务器命令 (/deploy?path=%2Ftest) 因 responseCode (401) 和 responseMessage (Non-Autorisé) 而失败。

表示以下情况之一为真:

  • 您的 Tomcat 安装使用的tomcat-users.xml文件没有admin用户(您已在 中指定arquillian.xml),
  • 或者admin用户没有映射到managerTomcat 6 中的manager-script角色,或者 Tomcat 7 中的角色。

Arquillian 什么时候支持 tomcat 7?

Arquillian 支持 Tomcat 7,作为嵌入式或托管容器。文档不是最新的(截至目前),但配置参数或多或少与 Tomcat 6 中的嵌入式和托管等效项相同。用于的工件 ID

  • 托管的 Tomcat 7 实例是org.jboss.arquillian.container:arquillian-tomcat-managed-7.
  • 嵌入式 Tomcat 7 实例是org.jboss.arquillian.container:arquillian-tomcat-embedded-7.

截至今天,1.0.0.CR2是最新的稳定版本。1.0.0.Final-SNAPSHOT如果您想反对开发版本,您可以使用,。


此外,您可以从arquillian.xml文件中省略几个冗余属性。更简洁的配置如下所示:

<arquillian xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://jboss.org/schema/arquillian
        http://jboss.org/schema/arquillian/arquillian-1.0.xsd">
      <engine>
        <property name="deploymentExportPath">target/</property>
    </engine>

    <container qualifier="tomcat-remote">
        <configuration>
            <property name="jmxPort">8099</property>
            <property name="user">admin</property>
            <property name="pass">admin75</property>
        </configuration>
    </container>
</arquillian>
于 2011-11-07T03:03:10.060 回答