2016-04-02 41 views
2

Neden Guice 3.0, yanlış yapılandırılmış bileşenler için biçimlendirilmiş bir ileti yerine bu istisnayı atar (@Inject örneğin eksik)?Guice 3.0 - Başlangıçta ArrayIndexOutOfBoundsException?

Exception in thread "main" com.google.inject.internal.util.$ComputationException: java.lang.ArrayIndexOutOfBoundsException: 16640 
    at com.google.inject.internal.util.$MapMaker$StrategyImpl.compute(MapMaker.java:553) 
    at com.google.inject.internal.util.$MapMaker$StrategyImpl.compute(MapMaker.java:419) 
    at com.google.inject.internal.util.$CustomConcurrentHashMap$ComputingImpl.get(CustomConcurrentHashMap.java:2041) 
    at com.google.inject.internal.util.$StackTraceElements.forMember(StackTraceElements.java:53) 
    at com.google.inject.internal.Errors.formatInjectionPoint(Errors.java:716) 
    at com.google.inject.internal.Errors.formatSource(Errors.java:678) 
    at com.google.inject.internal.Errors.format(Errors.java:555) 
    at com.google.inject.ConfigurationException.getMessage(ConfigurationException.java:70) 
    at java.lang.Throwable.getLocalizedMessage(Throwable.java:391) 
    at java.lang.Throwable.toString(Throwable.java:480) 
    at java.lang.String.valueOf(String.java:2982) 
    at java.io.PrintStream.println(PrintStream.java:821) 
    at java.lang.Throwable$WrappedPrintStream.println(Throwable.java:748) 
    at java.lang.Throwable.printStackTrace(Throwable.java:655) 
    at java.lang.Throwable.printStackTrace(Throwable.java:643) 
    at java.lang.Throwable.printStackTrace(Throwable.java:634) 
    at hu.daniel.hari.exercises.cleanarchitecture.payrollcasestudy.adapters.primary.ui.impl.swing._2.SwingUIMain2.<init>(SwingUIMain2.java:40) 
    at hu.daniel.hari.exercises.cleanarchitecture.payrollcasestudy.adapters.primary.ui.impl.swing._2.SwingUIMain2.main(SwingUIMain2.java:17) 
Caused by: java.lang.ArrayIndexOutOfBoundsException: 16640 
    at com.google.inject.internal.asm.$ClassReader.readClass(Unknown Source) 
    at com.google.inject.internal.asm.$ClassReader.accept(Unknown Source) 
    at com.google.inject.internal.asm.$ClassReader.accept(Unknown Source) 
    at com.google.inject.internal.util.$LineNumbers.<init>(LineNumbers.java:62) 
    at com.google.inject.internal.util.$StackTraceElements$1.apply(StackTraceElements.java:36) 
    at com.google.inject.internal.util.$StackTraceElements$1.apply(StackTraceElements.java:33) 
    at com.google.inject.internal.util.$MapMaker$StrategyImpl.compute(MapMaker.java:549) 
    ... 17 more 

Benim tahriş etmez kodudur:

Injector injector = Guice.createInjector(new SwingUIModule(useCaseFactory)); 
injector.getInstance(MainFrameUI.class).show(); 
+0

Bir çözüm buldunuz mu? Problem hakkında bir ipucu var mı? – angelcervera

cevap

2

Ben sorunun aşağıda Guice 3 ve lambda ifadeleri nasıl işleyeceğini ile olduğunu düşünüyorum. Bunu, here belirtildiği gibi düzeltmek için Guice 4'e yükseltmeniz gerekebilir.