Posted on 2005-04-01 10:54
風太少 閱讀(446)
評論(0) 編輯 收藏
Runtime Dependencies
運行時需要的一些組件包:
依存關系:
- Core
- commons collections
- commons lang
- ConfigurationFactory
- commons logging
- commons digester
- DatabaseConfiguration
- XMLConfiguration, HierarchicalXMLConfiguraion
- JNDIConfiguration
- ConfigurationDynaBean
- commons beanutils
- commons logging
用ConfigurationFactory 進行配置
portal/
|--src/
|--WEB-INF/
|----config.xml
|----properties/
|------usergui.properties
|----classes/
|------ConfigurationFactoryTest.class
ConfigurationFactory 提供了兩種方式用于指定配置文件的位置:
- setConfigurationURL(URL)
- setConfigurationFileName(String)
使用factory.setConfigurationURL(URL) 方法指定配置文件
ConfigurationFactory factory = new ConfigurationFactory();
URL url = new File("WEB-INF/config.xml").toURL();
factory.setConfigurationURL(url);
Configuration config = factory.getConfiguration();
System.out.println(config.getString("colors.background"));
此時config.xml 中其他配置文件的聲明要用相對于config.xml 的路徑
<?xml version="1.0" encoding="ISO-8859-1" ?>
<configuration>
<properties fileName="properties/usergui.properties"/>
<!--或 fileName="./properties/usergui.properties"-->
</configuration>
使用factory.setConfigurationFileName(String) 方法指定配置文件
ConfigurationFactory factory = new ConfigurationFactory();
factory.setConfigurationFileName("WEB-INF/config.xml");
Configuration config = factory.getConfiguration();
System.out.println(config.getString("colors.background"));
此時config.xml 中其他配置文件的聲明要用相對于項目的根目錄的路徑:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<configuration>
<properties fileName="WEB-INF/properties/usergui.properties"/>
</configuration>
!注:如果配置文件的路徑填寫不正確的話就會遇到如下兩個Exception
- org.apache.commons.configuration.ConfigurationFactory.getConfiguration(ConfigurationFactory.java:135) - Exception caught opening stream to URL 表明找不到config.xml
- org.apache.commons.digester.Digester.endElement(Digester.java:1069) - End event threw exception java.lang.reflect.InvocationTargetException 表明找不到config.xml 中聲明的其他配置文件