Could not resolve placeholder localHome
Problem
Confluence is unable to start due to Lucene index file path is not defined properly in confluence.cfg.xml
file.
Cause 1
The following message appears in the atlassian-confluence.log
:
2014-07-06 22:37:01,252 ERROR [main] [ContainerBase.[Standalone].[localhost].[/]] log Exception sending context initialized event to listener instance of class com.atlassian.confluence.setup.ConfluenceBootstrappedContextLoaderListener
org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'luceneConnection' defined in class path resource [indexingSubsystemContext.xml]:
Could not resolve placeholder 'localHome'
In Confluence 5.5 and above, the variable that refers to the Home Directory is "localHome
". However, in earlier versions of Confluence, the variable is "confluenceHome
". It's possible that a configuration file was accidentally copied from a newer version of Confluence to an older one.
Cause 2
The following message appears in the atlassian-confluence.log
:
2019-10-30 07:54:51,839 ERROR [Catalina-utility-1] [ContainerBase.[Standalone].[localhost].[/]] log Exception sending context initialized event to listener instance of class [com.atlassian.confluence.setup.ConfluenceBootstrappedContextLoaderListener]
org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'tenantedLuceneConnection' defined in class path resource [indexingSubsystemContext.xml]: Could not resolve placeholder 'lucene.index.dir' in value "${lucene.index.dir}"; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'lucene.index.dir' in value "${lucene.index.dir}"
The index path is missing in confluence.cfg.xml
file.
Resolution 1
- Shutdown Confluence.
- Open
confluence.cfg.xml
in a text editor - Use your text editor to find all instances of
localHome
and replace them withconfluenceHome
Here's a property in
confluence.cfg.xml
that was showing the incorrect value:<property name="lucene.index.dir">${localHome}/index</property>
After performing the replacement, it should read like this:
<property name="lucene.index.dir">${confluenceHome}/index</property>
After making changes to the file, save it, then How to Rebuild the Content Indexes From Scratch on Confluence Server.
Check if the error will persists.
Resolution 2
- Shutdown Confluence.
- Open
confluence.cfg.xml
in a text editor Add the following property in
confluence.cfg.xml
if it was missing or is improperly defined:<property name="lucene.index.dir">${localHome}/index</property>
After making changes to the file, save it, then How to Rebuild the Content Indexes From Scratch on Confluence Server.
Restart Confluence
Note: On a newly created instance, Backing up and Removing the Confluence Home Folder would help to recreate the directory and resolve this issue.