Index: magnolia-core/src/main/java/info/magnolia/cms/beans/config/PropertiesInitializer.java =================================================================== --- magnolia-core/src/main/java/info/magnolia/cms/beans/config/PropertiesInitializer.java (revision 32016) +++ magnolia-core/src/main/java/info/magnolia/cms/beans/config/PropertiesInitializer.java (working copy) @@ -106,8 +106,10 @@ * Default value for the MAGNOLIA_INITIALIZATION_FILE parameter. */ public static final String DEFAULT_INITIALIZATION_PARAMETER = // - "WEB-INF/config/${servername}/${webapp}/magnolia.properties," //$NON-NLS-1$ + "WEB-INF/config/${servername}/${contextPath}/magnolia.properties," //$NON-NLS-1$ + + "WEB-INF/config/${servername}/${webapp}/magnolia.properties," //$NON-NLS-1$ + "WEB-INF/config/${servername}/magnolia.properties," //$NON-NLS-1$ + + "WEB-INF/config/${contextPath}/magnolia.properties," //$NON-NLS-1$ + "WEB-INF/config/${webapp}/magnolia.properties," //$NON-NLS-1$ + "WEB-INF/config/default/magnolia.properties," //$NON-NLS-1$ + "WEB-INF/config/magnolia.properties"; //$NON-NLS-1$ @@ -300,6 +302,10 @@ propertiesFilesString = StringUtils.replace(propertiesFilesString, "${servername}", servername); //$NON-NLS-1$ propertiesFilesString = StringUtils.replace(propertiesFilesString, "${webapp}", webapp); //$NON-NLS-1$ + if (atLeastServlet25(context)) { + propertiesFilesString = StringUtils.replace(propertiesFilesString, "${contextPath}", context.getContextPath()); //$NON-NLS-1$ + } + // Replacing servlet context attributes (${contextAttribute/something}) final String contextAttributePlaceHolder = PLACEHOLDER_PREFIX + CONTEXT_ATTRIBUTE_PLACEHOLDER_PREFIX; String[] contextAttributes = StringUtils.stripAll(StringUtils.substringsBetween( @@ -404,4 +410,13 @@ return buf.toString(); } + public static boolean atLeastServlet25(ServletContext context) { + final int major = context.getMajorVersion(); + if (major == 2) { + return context.getMinorVersion() >= 5; + } else { + return major > 2; + } + } + }