本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

spring 外部属性文件;文件未找到异常

发布于2024-10-29 18:17     阅读(1041)     评论(0)     点赞(26)     收藏(0)


我正在尝试使用以下代码从外部属性文件中读取。我很确定我已正确设置路径,但仍然收到文件未找到错误。有什么建议吗?这是我的代码:

public class Timer {

     @Autowired
      private ApplicationContext ctx;

     @Autowired
        private SpringMailSender springMailSender;

    @Scheduled(cron="${timer.time}") //this is the line that is having trouble
    public void timer()
    {
        System.out.println("timer() in Timer Class has been stepped into");
        try {
            springMailSender.sendMail();
            } catch (Exception e) {
                e.printStackTrace();
            }
        System.out.println("Method executed on every 2nd Monday of each month. Current time is :: "+ new Date());
    }

}

以下是我为其设置的配置文件的方法...

<!--  Property Placeholder -->
        <bean
            class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
            <property name="locations">
                <list>
                    <value>classpath:properties/system.properties</value>
                    <value>file:${external.property.directory}propfilename</value>
                </list>
            </property>
        </bean>

<!-- messageSource -->
    <bean id="messageSource"
        class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
        <property name="basenames">
            <list>
                <value>file:${external.property.directory}propfilename</value>
            </list>
        </property>
    </bean>

我在 Web 应用程序的属性文件中像这样设置了外部文件路径。

#directory on the server where property files will be stored
external.property.directory=C\:\\propfoldername\\

我收到的错误是:

 org.springframework.beans.factory.BeanInitializationException: Could not load properties; nested exception is java.io.FileNotFoundException: ${external.property.directory}propfilename (The system cannot find the file specified)

任何帮助都将不胜感激。如果我遗漏了一些你可能需要查看的代码,请告诉我。


解决方案


您尝试执行的操作不会成功,因为 ${external.property.directory} 未解析。但是,如果您需要两个属性文件,则可以使用环境变量来实现相同的结果(请注意,第二个文件中的任何属性都将覆盖第一个文件中的相同属性)



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.javaheidong.com/blog/article/687461/cb6b283b8f16cfe054bc/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

26 0
收藏该文
已收藏

评论内容:(最多支持255个字符)