Eclipse BIRTレポート用の拡張機能(プラグイン)を作成しようとしています。データベースエントリに従ってファイルからイメージを抽出し、表示します。EclipseのBIRTプラグインでSunのJAI-ImageIOを使用するにはどうすればよいですか?
私はSunのJAI-ImageIOを使用してTIFFファイルデータにアクセスし、PNGに変換してレポートに表示します。私のコードは適合していますが、がNoClassDefFoundランタイム例外がスローされます:
SEVERE: Error happened while running the report.
java.lang.NoClassDefFoundError: javax/media/jai/PlanarImage
at org.eclipse.birt.sample.reportitem.rotatedlabel.util.GraphicsUtil.createDocImage
(GraphicsUtil.java:66)
at org.eclipse.birt.sample.reportitem.rotatedlabel.RotatedLabelPresentationImpl.onRowSets
(RotatedLabelPresentationImpl.java:136)
at org.eclipse.birt.report.engine.extension.ReportItemPresentationBase.onRowSets
(ReportItemPresentationBase.java:218)
at org.eclipse.birt.report.engine.presentation.LocalizedContentVisitor.
processExtendedContent(LocalizedContentVisitor.java:966)
...
それは、より標準的なイメージオブジェクトに変換する必要がありますので、私は、PlanarImage.getAsBufferedImage()メソッドを使用しています。私はJAI jarファイルをJREに入れ、Eclipse Plugin環境の外で同じ基本コードをテストしました。うまくいきます。 CLASSPATHの問題のようですが、システム上のすべてのJREに必要なJARファイルとDLLファイルが適切な場所に格納されていることを確認しました。
新しいJDBCドライバの場合は、プラグインの特別なサブディレクトリにjarファイルを置く必要があります。BIRTが使用できるように他のサードパーティ製のjarファイルを置く特別な場所はありますか?
これは、OSGi環境でEclipseプラグイン開発外の環境で動作します。私は、RotatedLabel ReportItemの標準サンプルコードから作業していますが、私が目指しているものを実装するように変更しました。私が昨日コメントした "警告を抑止する"というメッセージは、偽のものでした。Eclipseプロジェクトのインポートを再注文して解決したクラスパスの問題です。 : - |しかし、同じエラーが、奇妙なJDBC例外と一緒に続きます。「結果セットを閉じることができません」 – sventechie