2012-03-07 11 views
2

コンパイル時にこのスタックエラーを引き起こしている可能性がありますか?日食と私は2+ GWTを使用しています 3.7gwtコンパイルエラー

[ERROR]予期しない内部コンパイラエラー `java.lang.ArrayIndexOutOfBoundsException:986507 com.google.gwt.dev.asm.ClassReader.readUnsignedShort(ClassReader で。 java:1850)com:012.gif、 com.google.gwt.dev.javac.TypeOracleMediator $ TypeData.getCollectClassData(TypeOracleMediator.java:147) ( )com.google.gwt.dev.javac.TypeOracleMediator.addNewTypes(TypeOracleMediator.java : com.google.gwt.dev.javac.TypeOracleMediatorFromSource.addNewUnits(TypeOracleMediatorFromSource.java:52) でcom.google.gwt.dev.javac.CompilationState.assimilateUnits(CompilationState.java:164)における390) でcom.google.gwt.dev.javac.CompilationState。(CompilationState.java:82) でcom.google.gwt.dev.javac.CompilationStateBuilder.doBuildFrom(CompilationStateBuilder.java:450) com.googleで com.google.gwt.dev.cfg.ModuleDef.getCompilationState(ModuleDef.java:360)com.google.gwt.devで で.gwt.dev.javac.CompilationStateBuilder.buildFrom(CompilationStateBuilder.java:370) 。プリコンパイル.p再コンパイル(Precompile.java:252) com.google.gwt.dev.Precompile.precompile(Precompile.java:233) com.google.gwt.dev.Precompile.precompile(Precompile.java:145)at com.google.gwt.dev.Compiler.run(Compiler.java:232)at com.google.gwt.dev.Compiler.run(Compiler.java:198) com.google.gwt.dev.Compiler $ 1 com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:82)で com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:88) で.RUN(Compiler.java:170) com.google.gwt.dev.Compiler.main(Compiler.java:177)シャットダウン PersistentUnitCacheスレッドスレッド「UnitWriteThread」の例外 java.lang.NullPointe rcom.google.gwt.dev.util.DiskCache.transferToStream(DiskCache.java:183) com.google.gwt.dev.javac.CompiledClass.writeObject(CompiledClass.java:163) at sun。 (不明な情報源) にあります。 にあります。java.io.ObjectStreamClass.invokeWriteObject(Unknown Source) java.io.ObjectOutputStream.writeArray(不明で java.io.ObjectOutputStream.writeObject0(不明なソース)で java.io.ObjectOutputStream.writeOrdinaryObject(不明なソース)で java.io.ObjectOutputStream.writeSerialData(不明なソース)で、 S ource) java.io.ObjectOutputStream.writeOrdinaryObjectで java.io.ObjectOutputStream.writeSerialData(不明なソース)で java.io.ObjectOutputStream.defaultWriteFields(不明なソース)で java.io.ObjectOutputStream.writeObject0(不明なソース)で、 (Unknown Source)at のjava.io.ObjectOutputStream.writeObject0(不明なソース) のjava.io.ObjectOutputStream.writeSerialData(不明なソース)のjava.io.ObjectOutputStream.defaultWriteFields(不明なソース) のjava.io.ObjectOutputStream.writeOutputStream .writeOrdinaryObject(不明なソース): java.io. com.google.gwt.dev.javac.PersistentUnitCache $ UnitWriter.run(PersistentUnitCache.java:226)

答えて

0

で java.io.ObjectOutputStream.writeObject(不明なソース)でObjectOutputStream.writeObject0(不明なソース)あなたのコードなしで正確に言う、間違いなくどこからこのエラーが来ている参照してください、私はあなたがいくつかの配列を持っているとあなたは実際にはない配列からインデックスにアクセスしようとしている参照してください

0

確かにコンパイラエラー。 asm codeを見ると、範囲外の配列変数は次のとおりです。 解析される非標準クラスです。このフィールドはAttributeサブクラスを対象としており、通常はクラスジェネレータやアダプタでは必要ありません。

bin/lib jarsや実行ファイルに不一致がありますか? 問題のコードを匿名クラスまたは内部クラスにローカライズできますか?

0

gwt-unitCacheフォルダを削除し、もう一度gwt-compileを実行してみてください。これは私のためにそれを固定した。

0

私はEclipse Luna + GWT 2.7.0 + Java 1.7 + Mavenプラグイン3.1.1を使用して非常によく似た問題を抱えています。 私はスーパーデベロッパーモードでGWTをコンパイルしようとしていましたが、常にjava.lang.ArrayIndexOutOfBoundsExceptionがあります。 私はそれがコンパイラが(クラス分けされたように)コンパイルされていないと思われるクラスをコンパイルしようとしているために起こると思いますが、わかりません。私はこの問題を解決するために取った

手順:

  1. クリーンターゲットフォルダ
  2. は展開アセンブリからテストフォルダーを削除(右日食でプロジェクトをクリック - >「配備アセンブリ」 - >テストフォルダを選択し、[削除]をクリックしてください。
  3. GWTプラグインを使用してコンパイル:eclipseでプロジェクトを選択します--GDTプルダウンボタン(Googleプラグインがインストールされている)をクリック - > "GWT Compile Project " - >コンパイルしたいモジュールを選択し、" Compile "を押します。

最後のステップは実際には失敗したので、それが助けられているかどうかはわかりません。

最後に、私は再びコンパイルされ、エラーはなくなりました。

誰かがこの情報を参考にしたいと考えていますか?