JBossToolsで作ったearプロジェクトのSeamTestが動かないよ

Table of Contents

JBossToolsで作ったearプロジェクトのSeamTestが動かない

以下のExceptionが発生。

[Parser] Running:

D:\workspace\exsampleSeam-test\temp-testng-customsuite.xml

ERROR [org.jboss.deployers.plugins.deployment.MainDeployerImpl] Unable

to determine structure of deployment:

vfsfile:/D:/workspace/exsampleSeam-ejb/build/classes/

org.jboss.deployers.spi.DeploymentException: Failed to process

context: vfsfile:/D:/workspace/exsampleSeam-ejb/build/classes/

at org.jboss.deployers.plugins.structure.DefaultStructureBuilder.populateContext(DefaultStructureBuilder.java:94)

at org.jboss.deployers.plugins.deployment.MainDeployerImpl.determineStructure(MainDeployerImpl.java:684)

at org.jboss.deployers.plugins.deployment.MainDeployerImpl.addDeploymentContext(MainDeployerImpl.java:352)

at org.jboss.embedded.DeploymentGroup.add(DeploymentGroup.java:164)

at org.jboss.embedded.DeploymentGroup.add(DeploymentGroup.java:177)

at org.jboss.embedded.DeploymentGroup.addBaseResource(DeploymentGroup.java:372)

at org.jboss.embedded.DeploymentGroup.addResourceBases(DeploymentGroup.java:401)

at org.jboss.embedded.Bootstrap.deployResourceBases(Bootstrap.java:306)

at org.jboss.seam.mock.EmbeddedBootstrap.startAndDeployResources(EmbeddedBootstrap.java:14)

at org.jboss.seam.mock.BaseSeamTest.startJbossEmbeddedIfNecessary(BaseSeamTest.java:1006)

at org.jboss.seam.mock.BaseSeamTest.init(BaseSeamTest.java:931)

at org.jboss.seam.mock.SeamTest.init(SeamTest.java:42)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:580)

at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:398)

at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:145)

at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:82)

at org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:166)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:103)

at org.testng.TestRunner.runWorkers(TestRunner.java:689)

at org.testng.TestRunner.privateRun(TestRunner.java:566)

at org.testng.TestRunner.run(TestRunner.java:466)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:301)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:296)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:276)

at org.testng.SuiteRunner.run(SuiteRunner.java:191)

at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:808)

at org.testng.TestNG.runSuitesLocally(TestNG.java:776)

at org.testng.TestNG.run(TestNG.java:701)

at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:73)

at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:124)

Caused by: java.lang.IllegalStateException: FileHandler@10735167[path=

context=file:/D:/workspace/exsampleSeam-ejb/build/classes/

real=file:/D:/workspace/exsampleSeam-ejb/build/classes/] has no

parent.

at org.jboss.virtual.VFSUtils.addManifestLocations(VFSUtils.java:116)

at org.jboss.deployers.plugins.structure.DefaultStructureBuilder.processContext(DefaultStructureBuilder.java:131)

at org.jboss.deployers.plugins.structure.DefaultStructureBuilder.populateContext(DefaultStructureBuilder.java:89)

... 33 more

FAILED CONFIGURATION: @BeforeClass init

org.jboss.deployers.spi.IncompleteDeploymentException: Summary of

incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):

DEPLOYMENTS IN ERROR: Name -> Error

vfsfile:/D:/workspace/exsampleSeam-ejb/build/classes/ ->

java.lang.IllegalStateException: FileHandler@10735167[path=

context=file:/D:/workspace/exsampleSeam-ejb/build/classes/

real=file:/D:/workspace/exsampleSeam-ejb/build/classes/] has no

parent.


at org.jboss.embedded.DeploymentGroup.checkIncomplete(DeploymentGroup.java:151)

at org.jboss.embedded.DeploymentGroup.process(DeploymentGroup.java:129)

at org.jboss.embedded.Bootstrap.deployResourceBases(Bootstrap.java:307)

at org.jboss.seam.mock.EmbeddedBootstrap.startAndDeployResources(EmbeddedBootstrap.java:14)

at org.jboss.seam.mock.BaseSeamTest.startJbossEmbeddedIfNecessary(BaseSeamTest.java:1006)

at org.jboss.seam.mock.BaseSeamTest.init(BaseSeamTest.java:931)

at org.jboss.seam.mock.SeamTest.init(SeamTest.java:42)

... Removed 22 stack frames

SKIPPED CONFIGURATION: @BeforeMethod begin

SKIPPED CONFIGURATION: @AfterMethod end

SKIPPED CONFIGURATION: @AfterClass cleanup

SKIPPED: test

===============================================

org.domain.exsampleSeam.test.Exsample1Test

Tests run: 1, Failures: 0, Skips: 1

Configuration Failures: 1, Skips: 3

===============================================


===============================================

exsampleSeam-test

Total tests run: 1, Failures: 0, Skips: 1

Configuration Failures: 1, Skips: 3

===============================================

このせい

http://jira.jboss.com/jira/browse/JBIDE-1478

JBossTools-2.0.1.GAとSeam2.0.1GAでテストが動いた。

しかし、これで作ったearプロジェクトの動きがおかしい・・・。

プロパティのJ2EEモジュール依存関係の設定ができなくなってしまった。

これはWTPを更新することで解決できた。

でも某フレームワークとの連携がおかしくなる・・・

やっぱり2.0.0GAで開発を続けることに。

現在、2.0.0GA環境でSeamTestができるように調査。

ear、war、jarから必要なファイルをひとつのフォルダに集めて、ANTでビルドテストすれば動いた!。

components.properties

jndiPattern=exsampleSeam-ear/\#{ejbName}/local

jndiPattern=#{ejbName}/local

ファイル名称

bin

  ├──components.properties

  ├──exsampleSeam-ds.xml

  ├──import.sql

  ├──messages.properties

  ├──META-INF

  │    ├──application.xml

  │    ├──ejb-jar.xml

  │    ├──jboss-app.xml

  │    └──persistence.xml

  ├──org

  │    └──domain

  │         └──exsampleSeam

  │              ├──session

  │              │    ├──Authenticator.class

  │              │    ├──Exsample1.class

  │              │    └──Exsample1Bean.class

  │              └──test

  │                   ├──Exsample1Test$1.class

  │                   ├──Exsample1Test.class

  │                   └──testng.xml

  ├──seam.properties

  ├──security.drl

  └──WEB-INF

       ├──components.xml

       ├──faces-config.xml

       ├──pages.xml

       └──web.xml