1

Tomcat リモート 7 で Arquillian を使用してテストを実行したいと考えています。これは、問題を再現するための非常に簡単な例です。

pom の依存関係:

<dependencies>
    <dependency>
        <groupId>org.jboss.arquillian.junit</groupId>
        <artifactId>arquillian-junit-container</artifactId>
        <version>1.1.1.Final</version>
        <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.jboss.arquillian.container</groupId>
      <artifactId>arquillian-tomcat-remote-7</artifactId>
      <version>1.0.0.CR5</version>
      <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>${servlet.version}</version>
        <scope>test</scope>
    </dependency>

</dependencies>

arqullian.xml :

http://jboss.org/schema/arquillian/arquillian_1_0.xsd">

<container qualifier="tomcat-remote-7">
    <configuration>
        <property name="host">localhost</property>
        <property name="jmxPort">8089</property>
        <property name="bindHttpPort">8080</property>
        <property name="user">arquillian</property>
        <property name="pass">arquillian</property>
    </configuration>
</container>

SimpleTest.java

@RunWith(Arquillian.class)
public class SimpleTest {
@Deployment
@OverProtocol("Servlet 3.0")
public static Archive<WebArchive> createDeployment()    {
    File warFile = new File("../myproject/target/mywar.war");
    WebArchive webArchive = ShrinkWrap.createFromZipFile(WebArchive.class, warFile);
    return webArchive;
}

@Test
public void testSimple() {
    assertTrue(true);
}

}

SimpleTest を実行すると、長いスタック トレースが表示されます。最終的には次のようになります。

Caused by: java.lang.ClassNotFoundException: 
org.jboss.arquillian.container.tomcat.remote_6.TomcatRemoteExtension

依存関係のバージョン 7 にあるのに、バージョン 6 の TomcatRemoteExtension をロードしようとするのはなぜだろうか

4

1 に答える 1

0

拡張子が正しく登録されていないようです。

arquillian-tomcat-remote-7.jar 内のファイル META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension を探して編集します。

remote_6 への誤った参照が表示されるはずです。これを remote_7 に変更すると、すべてが期待どおりに機能するはずです。

マスターでは既に修正されているようです: https://github.com/arquillian/arquillian-container-tomcat/commit/3084c7f1be4320cc4e795385e4513f25f6d5a0e0

于 2014-02-03T12:11:36.090 に答える