0

現在maven javaコードをjdk7からjdk8に移動してテラコッタを使用していましたが、正しく動作しましたが、jdk8に変更した後、失敗している。私は次のエラーが発生しており、検索によって手がかりを得られませんでした。java.lang.ArrayIndexOutOfBoundsExceptionでのテストケースの失敗:JDK 8とテラコッタでの28526のテイクアウト3.4.0

java.lang.ArrayIndexOutOfBoundsException: 28526 
at com.tc.asm.ClassReader.readClass(ClassReader.java:2015) 
at com.tc.asm.ClassReader.getClassName(ClassReader.java:229) 
at com.tc.aspectwerkz.reflect.impl.asm.AsmClassInfo.getClassInfo(AsmClassInfo.java:305) 
at com.tc.aspectwerkz.reflect.impl.asm.AsmClassInfo.createClassInfoFromStream(AsmClassInfo.java:717) 
at com.tc.aspectwerkz.reflect.impl.asm.AsmClassInfo.getClassInfo(AsmClassInfo.java:256) 
at com.tc.aspectwerkz.reflect.impl.asm.AsmClassInfo.getInterfaces(AsmClassInfo.java:558) 
at com.tc.aspectwerkz.expression.regexp.TypePattern.matchInterfaces(TypePattern.java:147) 
at com.tc.aspectwerkz.expression.regexp.TypePattern.matchInterfaces(TypePattern.java:147) 
at com.tc.aspectwerkz.expression.regexp.TypePattern.matchSuperClasses(TypePattern.java:120) 
at com.tc.aspectwerkz.expression.regexp.TypePattern.matchType(TypePattern.java:92) 
at com.tc.aspectwerkz.expression.ExpressionVisitor.visit(ExpressionVisitor.java:437) 
at com.tc.aspectwerkz.expression.ast.ASTClassPattern.jjtAccept(ASTClassPattern.java:24) 
at com.tc.aspectwerkz.expression.ExpressionVisitor.visitAnnotatedNode(ExpressionVisitor.java:1016) 
at com.tc.aspectwerkz.expression.ExpressionVisitor.visit(ExpressionVisitor.java:237) 
at com.tc.aspectwerkz.expression.ast.ASTWithin.jjtAccept(ASTWithin.java:22) 
at com.tc.aspectwerkz.expression.ExpressionVisitor.visit(ExpressionVisitor.java:100) 
at com.tc.aspectwerkz.expression.ast.ASTExpression.jjtAccept(ASTExpression.java:22) 
at com.tc.aspectwerkz.expression.ExpressionVisitor.visit(ExpressionVisitor.java:88) 
at com.tc.aspectwerkz.expression.ExpressionVisitor.match(ExpressionVisitor.java:74) 
at com.tc.object.config.ClassExpressionMatcherImpl.match(ClassExpressionMatcherImpl.java:24) 
at com.tc.object.config.CompoundExpressionMatcher.match(CompoundExpressionMatcher.java:18) 
at com.tc.object.config.StandardDSOClientConfigHelperImpl.shouldBeAdapted(StandardDSOClientConfigHelperImpl.java:1242) 
at com.tc.object.bytecode.hook.impl.DefaultWeavingStrategy.transformInternal(DefaultWeavingStrategy.java:184) 
at com.tc.object.bytecode.hook.impl.DefaultWeavingStrategy.transform(DefaultWeavingStrategy.java:134) 
at com.tc.object.bytecode.hook.impl.DSOContextImpl.preProcess(DSOContextImpl.java:288) 
at com.tc.object.bytecode.hook.impl.DSOContextImpl.transform(DSOContextImpl.java:392) 
at org.terracotta.express.ClusteredStateLoader.transform(ClusteredStateLoader.java:124) 
at org.terracotta.express.ClusteredStateLoader.loadClass(ClusteredStateLoader.java:83) 
at org.terracotta.modules.ehcache.store.TerracottaClusteredInstanceFactory$1.call(TerracottaClusteredInstanceFactory.java:319) 
at org.terracotta.modules.ehcache.store.TerracottaClusteredInstanceFactory$1.call(TerracottaClusteredInstanceFactory.java:317) 
at org.terracotta.api.Terracotta.lookupOrCreateRoot(Terracotta.java:47) 
at org.terracotta.modules.ehcache.store.TerracottaClusteredInstanceFactory.getStoreRoot(TerracottaClusteredInstanceFactory.java:316) 
at org.terracotta.modules.ehcache.store.TerracottaClusteredInstanceFactory.getStoreMapForCacheManager(TerracottaClusteredInstanceFactory.java:77) 
at org.terracotta.modules.ehcache.store.TerracottaClusteredInstanceFactory.getOrCreateStore(TerracottaClusteredInstanceFactory.java:68) 
at org.terracotta.modules.ehcache.store.TerracottaClusteredInstanceFactory.createStore(TerracottaClusteredInstanceFactory.java:64) 
at net.sf.ehcache.terracotta.StandaloneTerracottaClusteredInstanceFactory.createStore(StandaloneTerracottaClusteredInstanceFactory.java:40) 

は、コメントの1で述べたように、兵馬3.4.0は、Java 8の互換性と古いテラコッタのバージョンが働いていた道を与えられていないあなたに

+0

aspectwerkz.expression.regexp.TypePattern.matchInterfaces(TypePattern.java:147)という間違ったパターンから来ているように見えますが、それが起きてしまったのがあなたの設定であるようです:StandardDSOClientConfigHelperImpl、これが私のできることです与える。詳細情報が必要 – Destrif

+0

ありがとうございます。私はeclipseでパフォーマンステストケースを実行しており、この例外が発生しているので、他の情報が必要な場合はお知らせください。 – user2183017

+0

私はテラコッタのバージョンをJava 8に準拠したものにアップデートすると言っています。最初のGoogle Hit:http://forums.terracotta.org/forums/posts/list/11437.page(3.7.7から3.7.10の間のどこかに固定されています) – Holger

答えて

0

をありがとう、これは驚きではありません。

Java 8をサポートする必要がある場合は、later versionに更新する必要があります。

正確なバージョンは、Terracottaの使用方法によって異なります.DSOサポートが必要な場合は、3.7.x行を使用する必要があります。 Ehcacheサポートの場合は、4.3.x行の最新バージョンにアップグレードすることをお勧めします。

関連する問題