Spring jar没有加载属性文件

时间:2015-08-12 11:00:02

标签: java spring maven spring-mvc

我创建了一个使用restfull Web服务的客户端应用程序。这是MAVEN java项目。我已在属性文件中定义了Web服务的所有URL。如果我单独运行此客户端它工作正常并给出正确的结果。现在我创建了相同应用程序的jar并添加到另一个Web应用程序的构建路径中。部署Web应用程序时,它会显示错误FileNotFoundException。它无法读取jar中的属性文件。

    @Autowired
    private Environment props;

    public String getAllAccounts(){
        try {
            return restEasyClient.invokeService(props
                    .getProperty("GET_ALL_ACCOUNTS"));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

这是一个代码,可以作为一个单独的java项目,但不能作为Web应用程序中的jar。

这就是我使用spring读取属性文件的方式:

<bean name="props" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <list>
                <value>classpath:/client.properties</value>
            </list>
    </property>
 </bean>

任何帮助??

1 个答案:

答案 0 :(得分:3)

您正在使用/ after classpath:我认为问题是因为您未正确到达文件的位置,请考虑此文档http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/resources.html#resources-classpath-wildcards还要考虑类路径将在src / main中自行查找/ resources,src / test / resources,src / main / java和src / test / java。