Java compilation fails when added Excel Exporter Module to App

1
Modeler version: 6.10.5 Added Excel Exporter version 4.2 (latest) to project and it leads to build failure with Java Actions Compile Error: \DataOQL.java:734: error: cannot find symbol     [javac]         return dateTime.withZone(DateTimeZone.UTC).toLocalDateTime().toDate();     [javac]                                                                     ^     [javac]   symbol:   method toDate()     [javac]   location: class LocalDateTime   Tried replacing the libraries (userlib after adding excel-exporter) with existing backup libraries (userlib before excel-exporter module). however, that did not help compiling the code. Anyone having faced the same issue?   
asked
3 answers
0

Hi Sumit,

I would try starting with a fresh backup (before you upgraded Excel Exporter). (download a new one from the team server)
Then delete all jars used by this module (you can see a list when trying to import 

After you delete all these jars, go to javasource/xlsreport/actions and delete all files in there.

Finally, do the upgrade of the excel module.

 

If you follow this procedure you minimize the risk of conflicted libraries or java code.

 

-Andrej

answered
0

This seems to work with Excel Exporter version 4.0. I could get the Java Compilation successful with older version of it.

Still not able to make it work with 4.1 and 4.2 (latest).

answered
0

One thing that causes this is when you upgrade community commons to 6.1 or higher and forget to follow the upgrade instructions:

Update instruction: Remove fontbox-1.8.5.jar, joda-time-1.6.2.jar and pdfbox-1.8.5.jar from your userlib.

Background

It appears that there are conflicting versions of the bundle joda-time. Excel Exporter comes with joda-time-2.9.6.jar

The dependency on joda-time was introduced in Excel Exporter 4.1, so that's why you get it to work in version 4.0.

The method toDate() that doesn't compile was introduced in joda time version 2.0, so it appears that there is a joda time version pre-2.0 on your machine that is being picked up.

answered