如何覆盖jar中捆绑的database.properties

时间:2018-04-25 17:25:23

标签: java activejdbc

使用ActiveJDBC(版本1.4.13),我找不到覆盖应用程序捆绑的database.properties的方法(来自src/main/resources/database.properties结束于jar内的那个)。

有没有办法用本地文件覆盖它(与Spring Boot中的application.properties一样)?

1 个答案:

答案 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