質問

Eclipse BIRTレポート用の拡張機能(プラグイン)を作成しようとしています。データベースエントリに従ってファイルから画像を抽出し、表示します。

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()メソッドを使用しているため、より標準的な画像オブジェクトに変換する必要があります。 JRE jarファイルをJREに配置し、Eclipseプラグイン環境の外部で同じ基本コードをテストしました。これは正常に機能します。 CLASSPATHの問題のようですが、システム上のすべてのJREに適切な場所に必要なjarおよびDLLファイルが含まれていることを確認しました。

新しいJDBCドライバーの場合、jarをプラグインの特別なサブディレクトリに配置する必要があります-BIRTが使用できるように他のサードパーティjarを配置する特別な場所はありますか?

役に立ちましたか?

解決

これは TIFFタイプ4画像を開くためのEclipse拡張機能。基本的に、サブディレクトリを作成し、その中にすべてのJARとDLLを配置し、jarをクラスパスに追加し、DLLを「プラグインの依存関係」に追加するだけです。 "必須のネイティブライブラリ"の下。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top