Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅在Intellij中运行的resthub引导的maven java项目的生产环境中使用自定义database.properties文件_Java_Maven_Heroku_Maven Profiles_Resthub - Fatal编程技术网

仅在Intellij中运行的resthub引导的maven java项目的生产环境中使用自定义database.properties文件

仅在Intellij中运行的resthub引导的maven java项目的生产环境中使用自定义database.properties文件,java,maven,heroku,maven-profiles,resthub,Java,Maven,Heroku,Maven Profiles,Resthub,我正在使用它来引导我的spring主干网络应用程序 根据。它们已经有一个默认的数据库属性文件 到目前为止一切正常,但我必须在heroku上部署该项目,它有不同的dbname、port和其他设置 要覆盖resthub提供的默认db属性,可以在类路径中创建名为database.properties的文件。但我希望该文件仅用于在heroku上部署 我应该如何继续配置它,使其在intellij上以默认db属性本地工作,但占用heroku的database.properties 我已经读过Maven概要

我正在使用它来引导我的spring主干网络应用程序

根据。它们已经有一个默认的数据库属性文件

到目前为止一切正常,但我必须在heroku上部署该项目,它有不同的dbname、port和其他设置

要覆盖resthub提供的默认db属性,可以在类路径中创建名为
database.properties
的文件。但我希望该文件仅用于在heroku上部署

我应该如何继续配置它,使其在intellij上以默认db属性本地工作,但占用heroku的database.properties

我已经读过Maven概要文件,但它讨论了如何为不同的环境创建不同的文件,我希望不要为特定的环境创建特定的文件,而是使用其中一个resthub JAR中提供的默认文件

更新

刚刚通过

resthub mongodb
配置文件总是旧的,在生产的情况下(由
-Dprod=true
标识),加载名为
heroku
的新配置文件,然后依次加载
prod\database.properties

<context:property-placeholder location="classpath*:prod/database.properties"/>

但是我猜与mongo相关的bean已经使用
resthub mongodb
中定义的属性定义了&因此,加载
heroku
配置文件来更改db属性是行不通的

在这种情况下,解决方案是什么

可能的解决办法

现在,我最终使用了一个概要文件-
heroku
resthubmongodb
,具体取决于系统属性


还有其他方法吗?

您可以让maven通过资源配置来处理您的环境

添加您的pom或父pom:

<env>local</env>

...

<resources>
    <resource>
        <directory>${basedir}/src/main/resources</directory>
        <filtering>false</filtering>
    </resource>
    <resource>
        <directory>${basedir}/src/main/config/${env}</directory>
        <filtering>false</filtering>
    </resource>
</resources>
-Denv=heroku
选项添加到任何maven命令运行将在类路径中添加所有
config/
目录内容<代码>本地是默认环境,如果未提供任何选项,则使用该环境

src/
   main/
       config/
             local/
             heroku/
                   database.properties