3

次のようなエラーが発生しています。

スレッド「Thread-1」の例外 java.lang.IncompatibleClassChangeError: クラス com.sun.image.codec.jpeg.JPEGImageEncoder が見つかりましたが、インターフェイスが予期されていました

Sun JDKを使用して JAR を構築し、 OpenJDKで実行しています。この環境にはまり込んでいます。

これを回避する簡単な方法はありますか?OpenJDKでコードをコンパイルして実行する必要がありますか?

4

2 に答える 2

2

一見すると、Jasper Reports は掘り下げて、使用してはならない内部クラス/メソッドを使用しています。これは明らかにすべてのプラットフォームで機能するとは限りません... Sun / Oracle は、これを行うと壊れる可能性があると明確に述べているため、これは驚くべきことではありません。

あなたは何をするべきか?

于 2013-03-07T01:24:21.657 に答える
2

com.sun.image.codec.jpeg.JPEGImageEncoderという名前は Sun 固有のパッケージであるため、他の JDK\JRE がそのクラスを提供するという保証はありません (実際にはほとんどありません)。直接使っていますか?その場合、アプリケーションを Sun のみの JVM に制限していることになります。

于 2013-03-06T23:52:47.543 に答える