[Seasar-user:16661] [S2JDBC]Maven2 surefireレポート作成時にArrayIndexOutOfBoundsException

Makoto SAITO [E-MAIL ADDRESS DELETED]
2009年 1月 13日 (火) 19:24:33 JST


齊藤と申します。

SAStruts+S2JDBCでアプリケーションを開発しています。
今回、Maven2を利用してサイト作成を自動で行うようにしているのですが、
site-deployゴールを設定したときにCoberturaレポートの作成時に例外が発生します。
#surefire:testゴール設定時にはエラーが発生しません。

target/surefire-reportsディレクトリ以下に下記スタックトレースが残るのですが、
何か原因お分かりになるでしょうか?

【環境】
 ・Seasar2 ver.2.4.29
 ・SAStruts ver.1.0.4-sp1
 ・S2JUnit4
 ・JDK 1.5.0_15

-------------------------------------------------------------------------------
Test set: xxx.service.auth.AuthenticationServiceTest
-------------------------------------------------------------------------------
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.234 sec <<< FAILURE!
testIsAuthOk(xxx.service.auth.AuthenticationServiceTest)  Time elapsed: 0.219 sec  <<< ERROR!
org.seasar.framework.exception.InvocationTargetRuntimeException: [ESSR0043]xxx.service.auth.AuthenticationService$$EnhancedByS2AOP$$257f1bが呼び出した対象が不正です。理由はjava.lang.ArrayIndexOutOfBoundsException: 0
	at org.seasar.framework.util.ConstructorUtil.newInstance(ConstructorUtil.java:65)
	at org.seasar.framework.container.assembler.AbstractConstructorAssembler.assembleDefault(AbstractConstructorAssembler.java:115)
	at org.seasar.framework.container.assembler.AutoConstructorAssembler.doAssemble(AutoConstructorAssembler.java:44)
	at org.seasar.framework.container.assembler.AbstractConstructorAssembler.assemble(AbstractConstructorAssembler.java:55)
	at org.seasar.framework.container.deployer.PrototypeComponentDeployer.deploy(PrototypeComponentDeployer.java:42)
	at org.seasar.framework.container.impl.ComponentDefImpl.getComponent(ComponentDefImpl.java:111)
	at org.seasar.framework.container.impl.S2ContainerImpl.getComponent(S2ContainerImpl.java:129)
	at org.seasar.framework.unit.impl.SimpleInternalTestContext.getComponent(SimpleInternalTestContext.java:291)
	at org.seasar.framework.unit.S2TestMethodRunner.bindField(S2TestMethodRunner.java:515)
	at org.seasar.framework.unit.S2TestMethodRunner.bindFields(S2TestMethodRunner.java:471)
	at org.seasar.framework.unit.S2TestMethodRunner.runMethod(S2TestMethodRunner.java:249)
	at org.seasar.framework.unit.S2TestMethodRunner.run(S2TestMethodRunner.java:171)
	at org.seasar.framework.unit.S2TestClassMethodsRunner.invokeTestMethod(S2TestClassMethodsRunner.java:227)
	at org.seasar.framework.unit.S2TestClassMethodsRunner.run(S2TestClassMethodsRunner.java:89)
	at org.seasar.framework.unit.S2TestClassRunner.run(S2TestClassRunner.java:67)
	at org.seasar.framework.unit.Seasar2.run(Seasar2.java:168)
	at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
	at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:138)
	at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:125)
	at org.apache.maven.surefire.Surefire.run(Surefire.java:132)
	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.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:290)
	at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:818)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
	at org.seasar.framework.util.tiger.GenericUtil.gatherTypeVariables(GenericUtil.java:292)
	at org.seasar.framework.util.tiger.GenericUtil.getTypeVariableMap(GenericUtil.java:254)
	at org.seasar.extension.jdbc.service.S2AbstractService.<init>(S2AbstractService.java:67)
	at xxx.service.auth.AuthenticationService.<init>(AuthenticationService.java:22)
	at xxx.service.auth.AuthenticationService$$EnhancedByS2AOP$$257f1b.<init>(AuthenticationService$$EnhancedByS2AOP$$257f1b.java)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
	at org.seasar.framework.util.ConstructorUtil.newInstance(ConstructorUtil.java:57)
	... 25 more




Seasar-user メーリングリストの案内