The Scripting Macros plugin directs users to install two JARs for POI 3.0 in WEB-INF/lib. This clashes with POI 2.0 which is used by Confluence, and causes the error below.

      We need to either get the Scripting Macros to bundle this dependency (easier), or update Confluence to use POI 3.0 (harder).

      This is the stack trace:
      Caused by: java.lang.NoClassDefFoundError
      at org.apache.poi.hwpf.model.TextPieceTable.(TextPieceTable.java:47)
      at org.apache.poi.hwpf.model.ComplexFileTable.(ComplexFileTable.java:58)
      at org.textmining.text.extraction.WordExtractor.extractText(WordExtractor.java:114)
      at bucket.search.lucene.extractor.MsWordContentExtractor.extractText(MsWordContentExtractor.java:33)
      at bucket.search.lucene.extractor.BaseAttachmentContentExtractor.addFields(BaseAttachmentContentExtractor.java:32)
      at bucket.search.lucene.BaseDocumentBuilder.getDocument(BaseDocumentBuilder.java:28)
      at com.atlassian.confluence.search.lucene.tasks.AddDocumentIndexTask.perform(AddDocumentIndexTask.java:33)
      at com.atlassian.confluence.search.lucene.DefaultConfluenceIndexManager$2.perform(DefaultConfluenceIndexManager.java:191)
      at com.atlassian.bonnie.LuceneConnection.withWriter(LuceneConnection.java:248)
      at com.atlassian.bonnie.LuceneConnection.withWriter(LuceneConnection.java:238)
      at com.atlassian.confluence.search.lucene.DefaultConfluenceIndexManager.processTasks(DefaultConfluenceIndexManager.java:182)
      at com.atlassian.confluence.search.lucene.DefaultConfluenceIndexManager.flushQueue(DefaultConfluenceIndexManager.java:93)
      at sun.reflect.GeneratedMethodAccessor323.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)

      Support cases (visible to Atlassian staff only):

            [CONFSERVER-6857] Installing Scripting Macros dependencies breaks indexing

            Matt Ryall added a comment -

            The scripting plugin has recently been split into several separate plugins, including the Excel Plugin (which was the part causing the problem). Updating to the latest versions via the Confluence Repository Client fixes the problem.

            The suggested fix is to:

            1. Uninstall the Scripting Plugin via Administration, Plugins.
            2. Remove the previously installed dependency JARs from confluence/WEB-INF/lib. (The dependency zip file attached to [1] includes those which should be removed.)
            3. Install the Confluence Repository Client [2], if you have not already installed it. (This plugin allows automatic download and installation of plugins from Confluence.)
            4. Use the Confluence Repository Client to install the Scripting Plugin and/or the Excel Plugin as required.

            After installing the latest Excel plugin this way, both normal indexing and rebuilding the index work correctly.

            [1] http://confluence.atlassian.com/display/CONFEXT/Scripting+and+External+Content+Macros
            [2] http://confluence.atlassian.com/display/CONFEXT/Confluence+Repository+Client

            Matt Ryall added a comment - The scripting plugin has recently been split into several separate plugins, including the Excel Plugin (which was the part causing the problem). Updating to the latest versions via the Confluence Repository Client fixes the problem. The suggested fix is to: 1. Uninstall the Scripting Plugin via Administration, Plugins. 2. Remove the previously installed dependency JARs from confluence/WEB-INF/lib. (The dependency zip file attached to [1] includes those which should be removed.) 3. Install the Confluence Repository Client [2] , if you have not already installed it. (This plugin allows automatic download and installation of plugins from Confluence.) 4. Use the Confluence Repository Client to install the Scripting Plugin and/or the Excel Plugin as required. After installing the latest Excel plugin this way, both normal indexing and rebuilding the index work correctly. [1] http://confluence.atlassian.com/display/CONFEXT/Scripting+and+External+Content+Macros [2] http://confluence.atlassian.com/display/CONFEXT/Confluence+Repository+Client

            Updating summary and description to reflect the new information about this problem.

            Matt Ryall added a comment - Updating summary and description to reflect the new information about this problem.

            Matt Ryall added a comment -

            This seems to be caused by installing the Scripting Macros plugin dependencies attached to this page, which includes POI 3.0:

            http://confluence.atlassian.com/display/CONFEXT/Scripting+and+External+Content+Macros

            A short-term workaround would seem to be the removal of these files from confluence/WEB-INF/lib/, and also to uninstall the Scripting Macros plugin.

            We'll investigate whether we can upgrade POI in Confluence or whether the plugin author can downgrade.

            Matt Ryall added a comment - This seems to be caused by installing the Scripting Macros plugin dependencies attached to this page, which includes POI 3.0: http://confluence.atlassian.com/display/CONFEXT/Scripting+and+External+Content+Macros A short-term workaround would seem to be the removal of these files from confluence/WEB-INF/lib/, and also to uninstall the Scripting Macros plugin. We'll investigate whether we can upgrade POI in Confluence or whether the plugin author can downgrade.

            Matt Ryall added a comment -

            Reopening. This is still occurring in Confluence 2.2.9.

            Matt Ryall added a comment - Reopening. This is still occurring in Confluence 2.2.9.

              Unassigned Unassigned
              tom@atlassian.com Tom Davies
              Affected customers:
              0 This affects my team
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: