2013-02-06 14 views
11

を実行するときにDeployableContainerが、私はときに私、私はこのエラーを取得していますしかし、EclipseのArquillian

にインポートエラーがない

https://github.com/arquillian/arquillian-examples/tree/master/arquillian-tutorial

このArquillian例を実行しようとしてきたエラーを指定する必要がありますJUnitテストとして実行:

java.lang.RuntimeException: Could not create new instance of class org.jboss.arquillian.test.impl.EventTestRunnerAdaptor 
    at org.jboss.arquillian.test.spi.SecurityActions.newInstance(SecurityActions.java:160) 
    at org.jboss.arquillian.test.spi.SecurityActions.newInstance(SecurityActions.java:111) 
    at org.jboss.arquillian.test.spi.SecurityActions.newInstance(SecurityActions.java:97) 
    at org.jboss.arquillian.test.spi.TestRunnerAdaptorBuilder.build(TestRunnerAdaptorBuilder.java:52) 
    at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:93) 
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) 
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) 
Caused by: java.lang.reflect.InvocationTargetException 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
    at java.lang.reflect.Constructor.newInstance(Unknown Source) 
    at org.jboss.arquillian.test.spi.SecurityActions.newInstance(SecurityActions.java:156) 
    ... 10 more 
Caused by: org.jboss.arquillian.container.impl.ContainerCreationException: Could not create Container jbossas-managed 
    at org.jboss.arquillian.container.impl.LocalContainerRegistry.create(LocalContainerRegistry.java:85) 
    at org.jboss.arquillian.container.impl.client.container.ContainerRegistryCreator.createRegistry(ContainerRegistryCreator.java:76) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    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.ManagerImpl.bindAndFire(ManagerImpl.java:236) 
    at org.jboss.arquillian.core.impl.InstanceImpl.set(InstanceImpl.java:74) 
    at org.jboss.arquillian.config.impl.extension.ConfigurationRegistrar.loadConfiguration(ConfigurationRegistrar.java:68) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    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.ManagerImpl.start(ManagerImpl.java:261) 
    at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.<init>(EventTestRunnerAdaptor.java:56) 
    ... 15 more 
Caused by: java.lang.IllegalArgumentException: DeployableContainer must be specified 
    at org.jboss.arquillian.core.spi.Validate.notNull(Validate.java:44) 
    at org.jboss.arquillian.container.impl.ContainerImpl.<init>(ContainerImpl.java:71) 
    at org.jboss.arquillian.container.impl.LocalContainerRegistry.create(LocalContainerRegistry.java:76) 
    ... 39 more 
+0

これを試しているワークステーションでJBossの設定はどうですか? JBOSS_HOME環境変数を設定しましたか? – Perception

+0

はい%JBOSS_HOME%が自分のPCに設定されています – xybrek

答えて

19

プロジェクトPOMがの束を定義しますプロファイル - arquillian-weld-ee-embedded,arquillian-glassfish-embeddedおよびarquillian-jbossas-managed。それらのどれもデフォルトではアクティブではありません。プロファイルはArquillianコンテナアダプタを持ち込むので、テストを実行するには、これらのいずれかをアクティブにする必要があります。

クラスパスにコンテナアダプタがないと、java.lang.IllegalArgumentException例外が表示され、「DeployableContainerを指定する必要があります」というメッセージが表示される可能性があります。

+0

私はこれをすでに理解していました。 – xybrek

+0

この問題をgradleで解決する方法はありますか?つまり、DeployableContainerをどのように定義する必要がありますか? – Reza

+0

すばらしい答え、ありがとう!もっと具体的に言えば、問題はここにあると付け加えてください(私にとってそれは以下の通りです) my-favorite-profile org.jboss.arquillian.container arquillian-wlp-managed-8.5 ${arquillian.version}

3

QuickStratのようなものはかなり曖昧です。デフォルトでarq-jboss-remoteのプロファイルを有効にするには、単に追加することができます。

<activation> 
     <activeByDefault>true</activeByDefault> 
</activation> 

をこのプロファイルの定義にプロジェクトpom.xmlに。

関連する問題