2013-11-13 4 views
0

Я пытаюсь перейти от JBoss AS 7.2.0 к Wildfly 8.0.0beta1.JavaEE Arquillian и JBoss 8.0.0beta 1:

Мой собственный проект и все тесты работали нормально на 7.2.0. Но на 8.0.0beta1, сам проект работает, но Arquillian тесты в настоящее время бросить мне IllegalArgumentException (ArquillianServletRunner не найден) при выполнении их на удаленном сервере:

java.lang.IllegalArgumentException: ArquillianServletRunner not found. Could not determine ContextRoot from ProtocolMetadata, please contact DeployableContainer developer. 
at org.jboss.arquillian.protocol.servlet.ServletUtil.determineBaseURI(ServletUtil.java:64) 
at org.jboss.arquillian.protocol.servlet.ServletURIHandler.locateTestServlet(ServletURIHandler.java:60) 
[...] 

При создании нового проекта с Eclipse, используя JBoss Central > Проекты Java EE EAR (что почти отражает мою структуру проекта), я получаю то же исключение.

Возможно, было бы полезно исправить ошибку в этом новом, почти пустом и общем проекте.

Возможно, проблема в неправильной версии Arquillian Container и т. Д.? Но при его изменении я получаю другие ошибки (например, NoClassDefinition HTTPHandshake ...)

+0

Какая версия зависимостей arquillian wildfly/AS7 вы используете? – ctomc

ответ

1

Я смог исправить проблему несколько дней назад. Вот решение:

pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>test.net</groupId> 
    <artifactId>ArqTest</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 

    <properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <version.junit>4.11</version.junit> 
    <version.arquillian>1.1.1.Final</version.arquillian> 
    <version.wildfly.as>8.0.0.Beta1</version.wildfly.as> 
    </properties> 

    <dependencies> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.jboss.arquillian.junit</groupId> 
     <artifactId>arquillian-junit-container</artifactId> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.jboss.arquillian.protocol</groupId> 
     <artifactId>arquillian-protocol-servlet</artifactId> 
     <scope>test</scope> 
    </dependency> 
    </dependencies> 

    <dependencyManagement> 
    <dependencies> 
     <dependency> 
     <groupId>org.wildfly</groupId> 
     <artifactId>wildfly-version</artifactId> 
     <version>${version.wildfly.as}</version> 
     <type>pom</type> 
     <scope>import</scope> 
     </dependency> 
     <dependency> 
     <groupId>org.jboss.arquillian</groupId> 
     <artifactId>arquillian-bom</artifactId> 
     <version>1.1.2.Final</version> 
     <scope>import</scope> 
     <type>pom</type> 
     </dependency> 
     <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>${version.junit}</version> 
     <scope>test</scope> 
     </dependency> 
     <dependency> 
     <groupId>org.jboss.arquillian</groupId> 
     <artifactId>arquillian-bom</artifactId> 
     <version>${version.arquillian}</version> 
     <scope>import</scope> 
     <type>pom</type> 
     </dependency> 
     <dependency> 
     <groupId>org.jboss.arquillian.extension</groupId> 
     <artifactId>arquillian-drone-bom</artifactId> 
     <version>${version.arquillian}</version> 
     <type>pom</type> 
     <scope>import</scope> 
     </dependency> 
    </dependencies> 
    </dependencyManagement> 

    <build> 
    <finalName>arquillian-tutorial</finalName> 
    <plugins> 
     <plugin> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>2.3.2</version> 
     <configuration> 
      <source>1.7</source> 
      <target>1.7</target> 
     </configuration> 
     </plugin> 
     <plugin> 
     <artifactId>maven-surefire-plugin</artifactId> 
     <version>2.12</version> 
     </plugin> 
    </plugins> 
    </build> 

    <profiles> 
    <profile> 
     <id>jbossas-managed-wildfly-8</id> 
     <activation> 
     <activeByDefault>true</activeByDefault> 
     </activation> 
     <build> 
     <plugins> 
      <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <configuration> 
       <!-- <testFailureIgnore>true</testFailureIgnore> --> 
       <systemPropertyVariables> 
       <arquillian.launch>jbossas-managed-wildfly-8</arquillian.launch> 
       </systemPropertyVariables> 
      </configuration> 
      </plugin> 
     </plugins> 
     </build> 
     <dependencies> 
     <dependency> 
      <groupId>org.wildfly</groupId> 
      <artifactId>wildfly-spec-api</artifactId> 
      <version>8.0.0.Beta1</version> 
      <type>pom</type> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.wildfly</groupId> 
      <artifactId>wildfly-arquillian-container-managed</artifactId> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.wildfly</groupId> 
      <artifactId>wildfly-arquillian-protocol-jmx</artifactId> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.wildfly</groupId> 
      <artifactId>wildfly-arquillian-common</artifactId> 
      <scope>test</scope> 
     </dependency> 
     </dependencies> 
    </profile> 
    </profiles> 
</project> 

И arquillian.xml для управляемого контейнера:

<arquillian xmlns="http://jboss.org/schema/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"> 

    <defaultProtocol type="Servlet 3.0" /> 

    <container qualifier="jbossas-managed-wildfly-8"> 
    <configuration> 
     <property name="jbossHome">D:\workspace\wildfly-8.0.0.Beta1</property> 
     <property name="serverConfig">standalone.xml</property> 
    </configuration> 
    </container> 
</arquillian> 
+0

Итак, что вы изменили, чтобы запустить его? – javadev

Смежные вопросы