使用ActiveJDBC(版本1.4.13),我找不到覆盖应用程序捆绑的database.properties
的方法(来自src/main/resources/database.properties
结束于jar内的那个)。
有没有办法用本地文件覆盖它(与Spring Boot中的application.properties
一样)?
答案 0 :(得分:0)
请参阅此处的文档:http://javalite.io/database_connection_management#using-system-property
基本上,提供database.properties
文件的位置作为系统属性:
java com.company.project.Main -cp myprogram.jar -Denv.connections.file=/path/to/file/database.properties
但是,如果它对您不起作用,那是因为2018年2月修复了这个错误:
https://github.com/javalite/activejdbc/issues/681
因此,如果此配置不起作用,请记住在类路径上搜索文件。这意味着如果您将文件放在文件系统的某个位置并在类路径中列出此文件 first 的目录,则首先会找到您的文件,而不是打包到Jar文件中的文件。
因此,如果您的文件是:/opt/project/dir1/database.properties
,则可以开始您的流程:
java -classpath /opt/project/dir1/:$CLASSPATH com.yourcompany.Main
然后将首先加载文件/opt/project/dir1/database.properties
。