gpt4 book ai didi

java - 如何在 gradle 中的类路径之外指定 quartz 属性文件?

转载 作者:行者123 更新时间:2023-12-01 14:34:14 25 4
gpt4 key购买 nike

我试图在 gradle 中指定我的 quartz 属性文件。从“配置”目录而不是资源。

String quartzProperties = System.properties['org.quartz.properties'] ?: "file:config/local/quartz.properties"
System.setProperty("org.quartz.properties", quartzProperties)

输出来自
(System.properties).each {
println "Prop ${it}"
}

或属性任务,是
Prop quartz.properties=file:config/local/quartz.properties

quartz 的输出是
PropertiesFactoryBean      --- Loading properties file from class path resource [quartz.properties]
SchedulerConfig$$EnhancerB --- Cannot load quartz.properties.

它没有被设置的症状是我得到了错误的 sql 方言,所以应用程序在加载时给出了一个数据库错误。

最佳答案

我有同样的问题,正在查看您的代码,使用 file:config/local/quartz.properties很可能是错误的。官方文档实际上只在该属性中放置了一个路径,而没有任何 URI 前缀或任何其他内容。该前缀很可能使路径无效并且 Quartz 无法找到它。以下是example from GitHub :

workdir=`dirname $0`
workdir=`cd ${workdir} && pwd`
QUARTZ=${workdir}/../..
[...]
# Set the name and location of the quartz.properties file
QUARTZ_PROPS="-Dorg.quartz.properties=${workdir}/quartz.properties"

至少一个可用 factory实际上也只使用一个文件:
    String requestedFile = System.getProperty(PROPERTIES_FILE);
String propFileName = requestedFile != null ? requestedFile
: "quartz.properties";
File propFile = new File(propFileName);

除此之外,至少现在 some factories存在支持直接提供设置的:
StdSchedulerFactory(Properties props)
Create a StdSchedulerFactory that has been initialized via initialize(Properties).

initialize(InputStream propertiesStream)
Initialize the SchedulerFactory with the contents of the Properties file opened with the given InputStream.

关于java - 如何在 gradle 中的类路径之外指定 quartz 属性文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46944767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com