Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.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
Java 我应该如何分离生产和开发连接设置_Java_Security_Properties_Database Connection_Environment Variables - Fatal编程技术网

Java 我应该如何分离生产和开发连接设置

Java 我应该如何分离生产和开发连接设置,java,security,properties,database-connection,environment-variables,Java,Security,Properties,Database Connection,Environment Variables,我有一个我正在开发的应用程序,它最终当然需要一个开发和生产环境。关键是数据库连接设置,这显然是我想要分开的 分离这些设置的正确过程是什么,这样我就不会使用dev设置部署到生产环境,反之亦然,这样我就不会使用生产环境设置部署到dev环境 我想可能是一个以prod和dev为前缀的属性文件,但我不确定这种方法的健壮性如何 谢谢 把问题再延伸一点 根据我在maven解决方案中看到的一条评论,当我们使用OpenShift时,已经有一些预生成的pom.xml代码,如下所示: <profiles>

我有一个我正在开发的应用程序,它最终当然需要一个开发和生产环境。关键是数据库连接设置,这显然是我想要分开的

分离这些设置的正确过程是什么,这样我就不会使用dev设置部署到生产环境,反之亦然,这样我就不会使用生产环境设置部署到dev环境

我想可能是一个以prod和dev为前缀的属性文件,但我不确定这种方法的健壮性如何

谢谢

把问题再延伸一点

根据我在maven解决方案中看到的一条评论,当我们使用OpenShift时,已经有一些预生成的pom.xml代码,如下所示:

<profiles>
        <profile>
            <!-- When built in OpenShift the openshift profile will be used when invoking 
                mvn. -->
            <!-- Use this profile for any OpenShift specific customization your app 
                will need. -->
            <!-- By default that is to put the resulting archive into the deployments 
                folder. -->
            <!-- http://maven.apache.org/guides/mini/guide-building-for-different-environments.html -->
            <id>openshift</id>
            <build>
                <finalName>TomcatHotOrNot</finalName>
                <plugins>
                    <plugin>
                        <artifactId>maven-war-plugin</artifactId>
                        <version>2.2</version>
                        <configuration>
                            <outputDirectory>deployments</outputDirectory>
                            <warName>TomcatHotOrNot</warName>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
因此,根据提供的答案,需要如何调整以遵循解决方案


谢谢

如果您使用Maven,您可以轻松地为开发和生产创建使用不同属性的不同配置文件。有几种方法。在这里使用Ant,我们有用于单独部署目标的文件夹,例如local/test/prod,这些文件夹中的配置文件优先于具有相同名称的其他部署文件。属性可以从任何类型的相对寻址文件中读取。@Kayaman我已经相应地更新了我的问题。您可能希望将该配置文件复制到类似openshift dev的文件中,并相应地配置所需的内容。然后在构建期间选择概要文件。有关详细信息,请参阅maven文档。