أحاول تجميع JasperDesign لإنشاء تقرير برمجيًا. نظرًا لأنني بحاجة إلى تضمين نمط شرطي في جافا سكريبت ، فقد قمت بتعيين لغة JasperDesign وفقًا لذلك:
val jasperDesign = new JasperDesign
jasperDesign.setLanguage("javascript")
لاحظ أنني أستخدم Scala 2.11 على Java 8 ، وأعمل على Play for Scala 2.5
نظرًا لأن JasperReports 6.4.3 (الإصدار الذي أستخدمه) يعتمد على وحيد القرن 1.7.6 ، أضفته إلى مسار الفصل الدراسي:
libraryDependencies += "org.mozilla" % "rhino" % "1.7.6"
المشكلة هي أنه عندما أقوم بتجميع JasperDesign أحصل على استثناء. يحدث هذا حتى عندما لا أقوم بتضمين Javascript Conditional Style:
java.lang.NoSuchMethodError: org.mozilla.javascript.ContextFactory.enterContext()Lorg/mozilla/javascript/Context; at net.sf.jasperreports.compilers.JavaScriptClassCompiler.compileUnits(JavaScriptClassCompiler.java:124) at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:203) at net.sf.jasperreports.engine.JasperCompileManager.compile(JasperCompileManager.java:357) at net.sf.jasperreports.engine.JasperCompileManager.compileToStream(JasperCompileManager.java:326) at net.sf.jasperreports.engine.JasperCompileManager.compileReportToStream(JasperCompileManager.java:599)
إذا قمت بإزالة jasperDesign.setLanguage("javascript")
ليس لدي أخطاء في الترجمة. ما هو مفقود هنا؟ هل هناك صراع بين ناشورن ورينو؟