我applicationContext.xml的是路徑:的MessageSource和PropertyPlaceholderConfigurer以及無法加載但與消息類路徑*
src/main/resources/META-INF/spring
和財產文件路徑:
src/main/resources/messages
,我加載網頁Spring上下文。 xml如下:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:META-INF/spring/applicationContext.xml</param-value>
</context-param>
當我配置MessageSource和PropertyPlaceholderConfigurer
如下:
<bean id="propertyPlaceholderConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:messages/apps.properties</value>
</list>
</property>
</bean>
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list>
<value>classpath:messages/ValidationMessages</value>
<value>classpath:messages/app</value>
</list>
</property>
<property name="defaultEncoding" value="UTF-8"/>
</bean>
他們都沒有工作,當我改變classpath
到classpath*
任何想法,爲什麼它僅適用?
你是什麼意思它不起作用,當你啓動你的服務器時是否有某種錯誤信息? – user273895
你屬於同一個'jar'嗎?你有沒有嘗試'classpath:/ messages/apps.properties'。注意'messages'前面的正斜槓 – tolitius
@Jword:在ClassPathResource.class中(在構造函數中)設置一個斷點並以調試模式啓動你的servlet容器。然後,當Spring爲這些無法找到的文件創建Resource對象時,請檢查正在使用哪個ClassLoader,哪個Path和哪個Class用於解析。 @tolitius:當使用'classpath:'方案時,Spring無論如何剝離主導斜線。請參閱ClassPathResource(String,ClassLoader)構造函數。 – mhaller