4

MyEclipse9を使用してJDK5 /Tomcat5からJDK6/Tomcat7に移行した後、クラスにいくつかの奇妙な問題があります。

経由で「myclass」にアクセスしようとすると、jsp:usebean次のエラーが発生します

org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.ClassFormatError: Illegal class modifiers in class myclass: 0x209

残りのログポイントはどこにもありません。試行錯誤によって、私は巨大なクラスを次の問題のある部分にトリミングしました。

 ...
 rf = store.getDefaultFolder();
 f = (IMAPFolder)rf;  
 final IMAPStore storeNew = store;
 Object val = f.doCommand(new IMAPFolder.ProtocolCommand() { <-- problem propably starts here
 public Object doCommand(IMAPProtocol p)
throws ProtocolException {
 ...

次の奇妙なことは、私の同僚が同じ環境を問題なく使用していることです。クラスファイルを比較しましたが、唯一の違いは最後の1バイトです。私のクラスは「0209」、彼の「0609」で終わります

数日後、私はそれを取り除く方法の選択肢がなくなりました。

編集:

MyEclipse9.1に再インストール/更新しました。今のところ運がない。

4

1 に答える 1

1

解決

単一のファイルを含む新しいプロジェクトで問題を再現しようとして別の日を過ごした後、残りの違いはプロジェクト/プロパティ/Javaビルドパス/ライブラリにあることに気付きました。メインプロジェクトにJ2EE 1.4 Librariesがあったので差し替えました。Java EE 6 ライブラリの出来上がりを追加した後。問題なくコンパイルして実行できます

于 2012-02-15T08:44:21.333 に答える