2016-09-27 2 views
4

Я добавляю Arquillian к моему проекту, я начал с примера HelloWorld:Arquillian: запускает сервер, но не развертывает

@RunWith(Arquillian.class) 
public class AccountTest { 
    @Deployment 
    public static JavaArchive createTestArchive() { 
     return ShrinkWrap.create(JavaArchive.class).addClasses(CustomerLookupLocal.class, CustomerLookup.class); 
    } 

    @Test 
    public void shouldBeAbleToReadSysPropAtStartup() { 
     Assert.assertTrue(1 == 1); 
    } 

Я добавил к моему пом таких зависимостей:

<dependencyManagement> 
     <dependencies> 
      <dependency> 
       <groupId>org.jboss.arquillian</groupId> 
       <artifactId>arquillian-bom</artifactId> 
       <version>${version.arquillian}</version> 
       <scope>import</scope> 
       <type>pom</type> 
      </dependency> 
     </dependencies> 
    </dependencyManagement> 

    <dependencies> 
     <dependency> 
      <groupId>org.jboss.as</groupId> 
      <artifactId>jboss-as-arquillian-container-managed</artifactId> 
      <version>7.1.1.Final</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.jboss.arquillian.protocol</groupId> 
      <artifactId>arquillian-protocol-servlet</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.shrinkwrap.resolver</groupId> 
      <artifactId>shrinkwrap-resolver-bom</artifactId> 
      <version>3.0.0-alpha-1</version> 
      <type>pom</type> 
      <scope>import</scope> 
     </dependency> 

Когда Я запускаю mvn clean install, он компилирует и запускает модульные тесты до тех пор, пока не будет аннотировано лицо Аркиллиан, после чего я вижу, что запущен Jboss:

20:01:45,917 INFO [org.jboss.as] (Controller Boot Thread) JBAS015874: JBoss EAP 6.1.1.GA (AS 7.2.1.Final-redhat-10) started in 3205ms - Started 150 of 220 services (69 services are passive or on-demand) 

И, похоже, процесс засыпает. В server.log Я вижу, что ничего не было развернуто. После 50 минут ожидания я получаю такое исключение:

Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 2,993.683 sec <<< FAILURE! - in my_package.AccountTest 
my_package.AccountTest Time elapsed: 2,993.683 sec <<< ERROR! 
org.jboss.arquillian.container.spi.client.container.LifecycleException: Could not start container 
     at org.jboss.as.arquillian.container.managed.ManagedDeployableContainer.startInternal(ManagedDeployableContainer.java:167) 
     at org.jboss.as.arquillian.container.CommonDeployableContainer.start(CommonDeployableContainer.java:113) 
     at org.jboss.arquillian.container.impl.ContainerImpl.start(ContainerImpl.java:199) 
     at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController$8.perform(ContainerLifecycleController.java:163) 
     at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController$8.perform(ContainerLifecycleController.java:157) 
     at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController.forContainer(ContainerLifecycleController.java:255) 
     at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController.startContainer(ContainerLifecycleController.java:156) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:606) 
     at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94) 
     at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99) 
     at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81) 
     at org.jboss.arquillian.container.impl.client.ContainerDeploymentContextHandler.createContainerContext(ContainerDeploymentContextHandler.java:57) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:606) 
     at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94) 
     at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88) 
     at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135) 
     at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115) 
     at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67) 
     at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController$2.perform(ContainerLifecycleController.java:77) 
     at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController$2.perform(ContainerLifecycleController.java:70) 
     at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController.forEachSuiteContainer(ContainerLifecycleController.java:221) 
     at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController.startSuiteContainers(ContainerLifecycleController.java:69) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:606) 
     at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94) 
     at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99) 
     at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81) 
     at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135) 
     at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115) 
     at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67) 
     at org.jboss.arquillian.container.test.impl.client.ContainerEventController.execute(ContainerEventController.java:86) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:606) 
     at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94) 
     at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99) 
     at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81) 
     at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:60) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:606) 
     at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94) 
     at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88) 
     at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135) 
     at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115) 
     at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.beforeSuite(EventTestRunnerAdaptor.java:68) 
     at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:97) 
     at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) 
     at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) 
     at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) 
     at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) 
     at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) 
     at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) 
Caused by: java.util.concurrent.TimeoutException: Managed server was not started within [60] s 
     at org.jboss.as.arquillian.container.managed.ManagedDeployableContainer.startInternal(ManagedDeployableContainer.java:163) 
     at org.jboss.as.arquillian.container.CommonDeployableContainer.start(CommonDeployableContainer.java:113) 
     at org.jboss.arquillian.container.impl.ContainerImpl.start(ContainerImpl.java:199) 
     at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController$8.perform(ContainerLifecycleController.java:163) 
     at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController$8.perform(ContainerLifecycleController.java:157) 
     at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController.forContainer(ContainerLifecycleController.java:255) 
     at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController.startContainer(ContainerLifecycleController.java:156) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:606) 
     at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94) 
     at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99) 
     at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81) 
     at org.jboss.arquillian.container.impl.client.ContainerDeploymentContextHandler.createContainerContext(ContainerDeploymentContextHandler.java:57) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:606) 
     at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94) 
     at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88) 
     at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135) 
     at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115) 
     at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67) 
     at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController$2.perform(ContainerLifecycleController.java:77) 
     at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController$2.perform(ContainerLifecycleController.java:70) 
     at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController.forEachSuiteContainer(ContainerLifecycleController.java:221) 
     at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController.startSuiteContainers(ContainerLifecycleController.java:69) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:606) 
     at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94) 
     at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99) 
     at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81) 
     at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135) 
     at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115) 
     at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67) 
     at org.jboss.arquillian.container.test.impl.client.ContainerEventController.execute(ContainerEventController.java:86) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:606) 
     at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94) 
     at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99) 
     at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81) 
     at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:60) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:606) 
     at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94) 
     at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88) 
     at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135) 
     at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115) 
     at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.beforeSuite(EventTestRunnerAdaptor.java:68) 
     at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:97) 
     at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) 
     at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) 
     at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) 
     at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) 
     at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) 
     at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) 

Я новичок в Arquillian я мог забыть основные вещи, так что любая помощь будет уместна!

+0

Скорее всего вы бежите, что JBoss (даже если он запускается arquillian) с Java 8. [Это не работает] (http://stackoverflow.com/questions/22899497/jboss-seems-to-hang-on-startup-at-the-command-line), поэтому вы должны использовать Java 7. – Seelenvirtuose

+0

@Seelenvirtuose, спасибо, будет знать. Я проверил, я использую 1.7: 'INFO: запуск контейнера с: [/ usr/lib/jvm/jdk1.7.0_79/bin/java' –

+0

Ну ... Размышляя об этом, это не совсем описанное поведение. Ваш JBoss запускается. Поведение при работе с Java 8 зависает при запуске. Итак, у вас действительно есть другая проблема. К сожалению, я не знаю ... – Seelenvirtuose

ответ

3

Проблема заключалась в том, что я имел non default management порт в standalone.xml

Поэтому добавление этой строки в arquillian.xml решена проблема:

<property name="managementAddress">127.0.0.1</property> 
<property name="managementPort">56999</property> 
Смежные вопросы