Index: core/src/main/java/org/castor/core/util/Configuration.java =================================================================== --- core/src/main/java/org/castor/core/util/Configuration.java (revision 8015) +++ core/src/main/java/org/castor/core/util/Configuration.java (working copy) @@ -162,12 +162,24 @@ Properties properties = new Properties(); // Get common configuration from the classpath root, ignore if not found. - boolean onClasspathRoot = loadFromClassPath(properties, "/" + filename); + boolean userPropertiesLoaded = loadFromClassPath(properties, "/" + filename); // If not found on classpath root, either it doesn't exist, or "." is not part of // the classpath, try looking at local working directory. - if (!onClasspathRoot) { loadFromWorkingDirectory(properties, filename); } + if (!userPropertiesLoaded) { + userPropertiesLoaded = loadFromWorkingDirectory(properties, filename); + } + if (!userPropertiesLoaded) { + String property = System.getProperty("org.castor.user.properties.location"); + if (property != null && property.length() > 0) { + File file = new File(property); + if (file.exists()) { + userPropertiesLoaded = loadFromFile(properties, file); + } + } + } + _map.putAll(properties); }