2012-02-24 18 views
1

Websphere 6.1上で動作するサーブレットでJasperReportを埋めようとすると、UnsupportedClassVersionError: Bad major version at offset=6と表示されます。WebsphereでJasper-Reportsを使用しているときに「Bad major version」エラーが発生しました

コンパイルされたJasperReportは、websphere上のjreが実行できる(Java 5になる)バージョンとは異なるバージョン(java 6?)を持っていると思いますが、その理由を理解できません。レポートをmavenまたはアプリケーション(サーブレット内)でコンパイルすると、エラーが発生します。

は、Java 1.5でそれを使用する方法を示しJasperReportsの、で提供されたデモによると、私はjasperreports.propertiesに次の設定を追加しました:

org.eclipse.jdt.core.compiler.source=1.5 
org.eclipse.jdt.core.compiler.compliance=1.5 
org.eclipse.jdt.core.compiler.codegen.TargetPlatform=1.5 

しかし、エラーがまだ存在します。

レポートに使用されている言語はJavaですので、どのコンパイラを使用するのが適切ですか? net.sf.jasperreports.engine.design.JRJdtCompilerまたはnet.sf.jasperreports.engine.design.JRJavacCompiler

残念ながら、ドキュメントはこれらの2つのコンパイラ...

編集との違いを説明していません:私はJRJavacCompilerを使用しているので、料理を。 JRJdtCompilerで、私がnullpointer例外を取得:

java.lang.NullPointerException 
    at java.lang.Class.isAssignableFrom(Native Method) 
    at net.sf.jasperreports.engine.fill.JRFillTextField.getFormat(JRFillTextField.java:706) 
    at net.sf.jasperreports.engine.fill.JRFillTextField.evaluateText(JRFillTextField.java:394) 
    at net.sf.jasperreports.engine.fill.JRFillTextField.evaluate(JRFillTextField.java:368) 
    at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:258) 
    at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:499) 
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2036) 
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:760) 
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:270) 
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:128) 
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:946) 
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:864) 
    at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:84) 
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:624) 
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:540) 
    at com.swissre.sod.jone.web.server.FileStreamingServlet.doGet(FileStreamingServlet.java:48) 

答えて

1

それはあなたがJavaでコンパイルされますアプリケーション内のライブラリを使用していることかもしれません6.

あなたが見つけるためにあなたの依存関係のMANIFEST情報をチェックすることができますもっと。

+0

いいえ、私たちがジャスパーを使用している標準的な環境で別のアプリケーションを使用していますが、残念なことにgroovyの式とコンパイラがあるため、これはそれではないと思います。 (少なくともジャスパージャーはpom.xmlに従ってjava 5のソースに準拠しています)。また、JRJavacCompilerを使用しているときに、私は別の例外 – steffinchen

関連する問題