JBossToolsで作ったearプロジェクトのSeamTestが動かないよ
JBossToolsで作ったearプロジェクトのSeamTestが動かない
以下のExceptionが発生。
[Parser] Running:
D:\workspace\exsampleSeam-test\temp-testng-customsuite.xmlERROR [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