我创建了一个使用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>
任何帮助??
答案 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。