私のアプリケーションでスタンドアロンの突堤を走っていると、奇妙な動作が見られます。アプリケーションを起動するjetty guice illegalaccessError
でエラーが発生します:
ラインif (f.getAnnotation(Persist.class) != null) //f is a Field instance (a public one, no less), Persist is an annotation
コードは、Tomcatの中で正常に動作この
についていくつかの面白い事実によってトリガーされる
2011-12-14 16:46:20.634:WARN::Error starting handlers java.lang.IllegalAccessError: class sun.reflect.GeneratedConstructorAccessor2 cannot access its superclass sun.reflect.ConstructorAccessorImpl at sun.misc.Unsafe.defineClass(Native Method)
コードは、私は桟橋のAntタスクを実行している同じ桟橋瓶でそれを実行した場合でも、アリ桟橋タスク
コードがスタンドアロン桟橋(しようとしたV6 & V8)でこのエラーをスローで細かい動作します。
最小限のjetty.xml(基本的にはディレクトリを指す)で実行します。
+1根本原因を釘付け用:ここ
は完全なコードです:私は自分のアプリケーションのクラスローダと同じになるように桟橋のクラスローダを強制することによってそれを解決しました。 – edwardw