2013-07-24 1 views
2

Я использую Maven и Eclipse для запуска контейнерных тестов. Моя конфигурация maven была настроена с использованием архетипа: jboss-javaee6-webapp-ear-blank-archetypeArquillian no HTTPContext, обнаруженный при запуске во встроенном контейнере Weld EE

Я могу запустить тесты Arquillian без проблем в JBoss AS7.

Но когда я пытаюсь запустить с помощью встроенного Weld EE контейнер, я получаю следующее исключение:

java.lang.IllegalArgumentException: No org.jboss.arquillian.container.spi.client.protocol.metadata.HTTPContext found in org.jboss.arquillian.container.spi.client.protocol.metadata.ProtocolMetaData. Servlet protocol can not be used 

Что вызывает org.jboss.arquillian.container.spi.client.protocol.metadata. HTTPContext обнаружил ошибку и как ее исправить?

I установки двух различных профилей в моем ПОМ, 1 для JBoss AS7 (работ) и один для встраиваемых Weld EE (не работает):

<profile> 
    <id>arq-weld-ee-embedded</id> 
      <activation> 
       <activeByDefault>true</activeByDefault> 
      </activation> 
    <dependencies> 
     <dependency> 
      <groupId>org.jboss.spec</groupId> 
      <artifactId>jboss-javaee-6.0</artifactId> 
      <version>1.0.0.Final</version> 
      <type>pom</type> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.jboss.arquillian.container</groupId> 
      <artifactId>arquillian-weld-ee-embedded-1.1</artifactId> 
      <version>1.0.0.CR3</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.jboss.weld</groupId> 
      <artifactId>weld-core</artifactId> 
      <version>1.1.5.Final</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-simple</artifactId> 
      <version>1.6.4</version> 
      <scope>test</scope> 
     </dependency> 
    </dependencies> 
</profile> 

<profile> 
    <!-- An optional Arquillian testing profile that executes tests in your 
     JBoss AS instance --> 
    <!-- This profile will start a new JBoss AS instance, and execute the 
     test, shutting it down when done --> 
    <!-- Run with: mvn clean test -Parq-jbossas-managed --> 
    <id>arq-jbossas-managed</id> 
    <dependencies> 
     <dependency> 
      <groupId>org.jboss.as</groupId> 
      <artifactId>jboss-as-arquillian-container-managed</artifactId> 
      <scope>test</scope> 
     </dependency> 
    </dependencies> 
</profile> 

ответ

3

В моей arquillian .xml у меня была строка:

<defaultProtocol type="Servlet 3.0" /> 

По некоторым исследованиям я нашел o ut the embedded Weld EE container does not support the Servlet 3.0 protocol

Чтобы устранить эту проблему, я удалил defaultProtocol из конфигурации и установил протокол для каждого контейнера.

+0

Я установил с свойствами хоста и порта для каждого контейнера. Тем не менее, я столкнулся с той же проблемой. Я использую arquillian 1.1.13.Final & 2.1.0.Beta1 org.wildfly.arquillian. – Saurabhcdt

+0

Я выполнил следующие инструкции: https://docs.jboss.org/author/display/ARQ/Container+configuration, и проблема была решена –