2012-02-24 4 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 또는 응용 프로그램 (서블릿)에서 보고서를 컴파일하면 오류가 발생합니다.

는 자바 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? 그래서 요금 나는 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

그것은 당신이 자바에서 컴파일하면 응용 프로그램에서 라이브러리를 사용하고 있는지 수 있습니다 6.

당신은 알아 의존성의 MANIFEST 정보를 확인할 수 있습니다 더.

+0

아니오, 저는 이것이 우리의 표준 환경에서 재스퍼를 사용하는 다른 응용 프로그램을 가지고 있기 때문에 그렇다고 생각하지 않습니다.하지만 유감스럽게도 groovy 표현식과 컴파일러가 있습니다. (적어도 재스퍼 항아리는 pom.xml에 따라 java 5와의 소스 호환성을가집니다). 또한 JRJavacCompiler를 사용할 때 다른 예외가 있다는 것을 알았습니다. – steffinchen

관련 문제