【问题标题】:Spring jar not loading property fileSpring jar没有加载属性文件
【发布时间】:2015-08-12 11:00:01
【问题描述】:

我创建了一个使用 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>

有什么帮助吗??

【问题讨论】:

  • 您可以尝试使用 System.getProperty("GET_ALL_ACCOUNTS");
  • JAR(或 WAR)中的“client.properties”文件是否位于正确的类路径位置?

标签: java spring maven spring-mvc


【解决方案1】:

您在类路径之后使用 /:我认为问题是因为您没有正确到达文件的位置,请考虑此文档 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。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-05
    • 2011-02-18
    • 2012-02-19
    • 2012-07-24
    • 2014-12-30
    • 2014-11-17
    • 1970-01-01
    • 2018-04-22
    相关资源
    最近更新 更多