NoSuchMethodError when using the usage macro
Symptoms
Trying to embed the {usage} macro on a page generates the following error:
Error formatting macro: usage: java.lang.NoSuchMethodError: org.jfree.data.time.TimeSeriesCollection.getSeries(Ljava/lang/String;)Lorg/jfree/data/time/TimeSeries;
The following appears in the atlassian-confluence.log
java.lang.NoSuchMethodError: org.jfree.data.time.TimeSeriesCollection.getSeries(Ljava/lang/String;)Lorg/jfree/data/time/TimeSeries;
at com.atlassian.confluence.ext.usage.index.UsageIndexManager$1$1.collectResult(UsageIndexManager.java:157)
at com.atlassian.confluence.ext.usage.index.UsageIndexManager$1$1.collect(UsageIndexManager.java:122)
at org.apache.lucene.search.HitCollectorWrapper.collect(HitCollectorWrapper.java:46)
at org.apache.lucene.search.BooleanScorer2.score(BooleanScorer2.java:292)
at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:252)
at org.apache.lucene.search.Searcher.search(Searcher.java:110)
at com.atlassian.confluence.ext.usage.index.UsageIndexManager$1.perform(UsageIndexManager.java:115)
at com.atlassian.bonnie.LuceneConnection.withSearch(LuceneConnection.java:260)
at com.atlassian.confluence.ext.usage.index.UsageIndexManager.queryUsage(UsageIndexManager.java:111)
at com.atlassian.confluence.ext.usage.macros.UsageStatsMacro.execute(UsageStatsMacro.java:45)
Cause
This error may occur if you have upgraded the version of the JFreeChart open source library that is included with Confluence. The upgrade may have been necessary in order to use a third-party Confluence plugin that requires a newer version of JFreeChart. The version of JFreeChart required by the usage macro is "1.0.0". Your current version of the JFreeChart library can by found by examining the WEB-INF/lib
directory of your Confluence installation.
Resolution
- Download the usage-tracking-plugin-0.14.1-SNAPSHOT.jar file attached to this Knowledge Base article, which is a modified version of the Usage Tracking Plugin that you can use to resolve this problem.
- Follow the instructions on installing by file upload in Installing Marketplace apps to apply the modified plugin version to Confluence.
- Verify that the macro is now functioning correctly.