我正在尝试创建一个带有Arquillian和Tomcat 7嵌入式测试套件,但是当我使用web.xml文件部署WAR文件时,我会得到以下错误。
没有找到ArquillianServletRunner。无法从ContextRoot确定ProtocolMetadata,请与DeployableContainer开发人员联系。
我该怎么解决这个问题?
发布于 2014-08-25 04:47:57
所以我不知道原因,但有一个简单的解决办法。
正在发生的情况是,没有映射到名称"ArquillianServletRunner“的servlet。这似乎是由web片段:3/web-fragment.xml处理的。
我的解决方案是将上面文件中的web片段的内容复制到我正在通过web.xml创建的WebArchive文件中。这样,servlet "ArquillianServletRunner“就被配置并可用了。
发布于 2018-11-27 13:02:01
如果您已经在web.xml中包含了下面的片段,这很可能是关于jar依赖的。
<servlet>
<servlet-name>ArquillianServletRunner</servlet-name>
<servlet-class>org.jboss.arquillian.protocol.servlet.runner.ServletTestRunner</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ArquillianServletRunner</servlet-name>
<url-pattern>/ArquillianServletRunner</url-pattern>
</servlet-mapping>首先,您可以检查运行的ArquillianServlet是否像下面这样发送GET请求
http://localhost:8080/APP_CONTEXT_ROOT/ArquillianServletRunner?outputMode=serializedObject&className=com.stackoverflow.test.SampleTest&methodName=testSomething此外,您还可以查看服务器日志中的内容,并可以看到NoClassDefFoundError。修复依赖项,然后再试一次。
https://stackoverflow.com/questions/25479186
复制相似问题