Arquillian和Tomcat6问题

时间:2011-11-06 22:35:59

标签: tomcat6 jboss-arquillian

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

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

  

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

仅供参考我的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?

此致

学家

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>

1 个答案:

答案 0 :(得分:2)

此消息

  

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

表示满足以下条件之一:

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

Arquillian何时会支持tomcat 7?

Arquillian支持Tomcat 7,作为emebedded或托管容器。文档不是最新的(截至目前),但配置参数或多或少与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>