无法在web.xml中的maven资源文件夹中提及属性文件作为上下文参数值

时间:2013-02-23 07:44:26

标签: java spring web-applications quartz-scheduler

我正在写一些Quartz工作。 quartz属性文件和quartz jobs xml保存在src / main / resources / quartz /文件夹下。

我正在提供石英属性文件的路径,如下所示:

<!-- Quartz schedular context parameters -->
<context-param>
    <param-name>quartz:config-file</param-name>
    <param-value>classpath*:quartz.properties</param-value>
</context-param>

我得到一个例外: org.quartz.SchedulerException:属性文件:无法读取'classpath *:quartz.properties'。 [请参阅嵌套异常:java.io.FileNotFoundException:classpath *:quartz.properties(没有此类文件或目录)]

我尝试在/ WEB-INF / quartz文件夹下添加quartz属性文件并给出路径

<param-value>classpath*:quartz.properties</param-value>
在web xml中。

如果我做错了,请建议。

更新: 爆炸战争文件夹的FOlder结构:

appFolder - WEB-INF
           |_ classes
                   |_ quartz (with properties file in it)
                   |_ com (all class files in it)
           |_ lib
           |_ spring (spring-servlet.xml in it)
           |_ view (jsp files in it)
           |_ web.xml

3 个答案:

答案 0 :(得分:2)

问题得到解决。 Quartz在类路径中搜索名为quartz.properties的属性文件。我将我的属性文件和xml文件直接放在src / main / resources文件夹中。 部署后,这些资源将添加到类路径中。

web.xml中的标记如下:

<context-param>
    <param-name>quartz:config-file</param-name>
    <param-value>quartz.properties</param-value>
</context-param>

无需后缀文件夹名称或在其中提供classpath *关键字。

谢谢大家的建议。

答案 1 :(得分:0)

你能试试吗

classpath:**/quartz.properties

答案 2 :(得分:0)

也可以尝试更改

<param-name>quartz:config-file</param-name>

 <param-name>contextConfigLocation</param-name>

和参数值

  <param-value>classpath:quartz/quartz.properties</param-value>