【问题标题】:Arquillian and Tomcat6 issueArquillian 和 Tomcat6 问题
【发布时间】:2011-11-06 22:35:58
【问题描述】:

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

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

org.jboss.jsfunit.example.hellojsf.HelloJSFTest 已用时间:0 秒

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

【问题讨论】:

    标签: tomcat6 jboss-arquillian


    【解决方案1】:

    这条消息

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

    表示以下情况之一为真:

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

    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>
    

    【讨论】:

    • 非常感谢您的回复。我已经检查了安全配置,你可以自己看到(见我上面的 xml),配置没问题。我还需要去哪里看?问候,朱利安。
    • @balteo,您可以使用相同的凭据访问管理器应用程序吗? Arquillian 通过将存档上传到/manager/deploy URL(如http://localhost:8080/manager/deploy)来部署测试。如果您无法访问此 URL,您可以发布您收到的消息吗?
    • 看来我可以访问该网址。这是我得到的:(ECHEC - Un chemin de contexte invalide null a été spécifié)页面确实加载了,我没有收到安全异常。
    • 好的,我认为问题与ARQ-630SHRINKDESC-97 有关,但我不能确定。您能否验证指定在 SHRINKDESC-97 中指定project.build.sourceEncodingargLine(使用file.encoding)的解决方法是否会改变行为?您需要将 arquillian.xml 的编码更改为您在项目 POM 中指定的相同编码,应该是 ISO-8859-1(因为 ARQ-630 的修复程序在 Nexus 存储库中不可用)。
    • 嗯,我有机会得到一个测试用例来重现这个吗?
    猜你喜欢
    • 2011-12-24
    • 2014-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多