2013-11-21 6 views
2

我們在我們的Web應用程序中嵌入了Eclipse BIRT,它迄今爲止工作得很完美。我們大量使用腳本 - 數據源的報告。有時我們使用Javascript,現在我們試圖直接用Java編寫數據源提供程序。BIRT腳本報告無法正常工作:獲取「無效的JavaScript表達式」異常

我目前有一個阻滯問題,我在哪裏用完了想法,問題的根源可能是什麼。

我得到這個異常:

無效的JavaScript表達式:行[ 「名稱」] org.eclipse.birt.report.data.adapter.api.AdapterException:處理過程中發生的異常。有關詳細信息,請參閱以下消息: 發生BIRT異常。有關更多信息,請參閱下一個異常 無效的javascript表達式:row [「Name」] at org.eclipse.birt.report.data.adapter.impl.DataRequestSessionImpl.prepare(DataRequestSessionImpl.java:677) at org.eclipse.birt.report.engine.data .dte.AbstractDataEngine.doPrepareQuery(AbstractDataEngine.java:218) at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doPrepareQuery(DteDataEngine.java:273) at org.eclipse.birt.report.engine .data.dte.AbstractDataEngine.prepare(AbstractDataEngine.java:183) at org.eclipse.birt.report.engine.executor.ReportExecutor.execute(ReportExecutor.java:122) at org.eclipse.birt.report.engine .internal.executor.wrap.WrappedReportExecutor.execute(WrappedReportExecutor.java:60) ...

引起:org.eclipse.birt.core.exception.CoreException:無效的javascript表達式:row [「Name」] at org.eclipse.birt.core.data.ExpressionParserUtility.compileColumnExpression(ExpressionParserUtility.java:85) org.eclipse.birt.core.data.ExpressionUtil.extractColumnExpressions(ExpressionUtil.java:282) at org.eclipse.birt.data.engine.expression.ExpressionCompilerUtil.populateColumnList(ExpressionCompilerUtil.java:499) at org.eclipse .birt.data.engine.expression.ExpressionCompilerUtil.extractColumnExpression(ExpressionCompilerUtil.java:116) 在org.eclipse.birt.data.engine.expression.ExpressionCompilerUtil.extractColumnExpression(ExpressionCompilerUtil.java:89)

奇怪的是:

  • 報告中使用(.rptdesign)定義在我們的web應用程序的早期版本上的所有設置/安裝工作。
  • 它也適用於一些電腦與我們的web應用程序的當前版本。
  • 它適用於開發機器。 (與Eclipse /碼頭設置)

不過,這並不一個特定的機器上工作,在此設置:

  • 的Windows XP 32位(虛擬)
  • 的Tomcat 6.0.30/1.6的JRockit JRE (堆1500MB)
  • 解包部署,JAR文件中的所有類。
  • MySQL數據庫

我懷疑犀牛JS引擎的類路徑的問題。我檢查了依賴關係...但它找不到根本原因。

這不是數據庫內容。我運行的是具有相同tomcat版本,jre版本和我的開發機器上的相同數據庫內容(使用windows7 64bit)的完全相同的webapp代碼的腳本報告,並且它工作正常。

任何幫助/想法非常感謝!

+0

機器是否運行Windows 8.1? http://stackoverflow.com/questions/19460659/birt-report-not-running-in-eclipse-after-update-to-windows-8-1 –

回答

2

我終於找到了錯誤。

該webapp代碼並不完全相同。

與BIRT問題的web應用程序的代碼有另一個Rhino引擎(在另一個版本)隱藏在這個罐子: 蠟染-JS-1.7.jar

的解決方案顯然是要照顧,只有ONE犀牛引擎出現在您的webapp罐子裏。

+0

這絕對是真的。我的問題是我在我的項目中加入了Pivot4J jar,其中還包括蠟染js的老版本。 – mneri