gpt4 book ai didi

java - 我想为所有环境 DEV/UAT/PROD 单独部署 WAR 文件,但我有属性文件的依赖性让我知道我将如何做?

转载 作者:行者123 更新时间:2023-11-28 23:56:56 24 4
gpt4 key购买 nike

目前在我的 comp 中,他们通过创建不同的 WAR 文件在不同的 2 环境中部署 WAR 文件。Exp:对于 DEV,他们将创建和部署,对于 UAT,他们将创建并部署由于属性文件的某些依赖性。

所以我想要解决方案,我将如何在服务器端或 WAR 文件中配置以部署仅由开发人员创建的单个 WAR 文件这也是最佳实践。

我听别人说我们可以通过在服务器端配置与环境相关的环境属性来实现。

请给出应该能正常工作的完美解决方案...

希望得到 +ve 的回答。谢谢!

最佳答案

您可以根据 DEV、UAT 等环境保留不同的属性文件。现在,在您的不同环境中,您可以将环境变量 env 作为 DEV 和 UAT。

在 Tomcat 中,可以通过在 vm 选项中提供 -Denv=DEV 或 -Denv=UAT 来简单地设置它。

现在您可以创建相同的 war 文件,其中包含所有环境的所有配置文件,并根据您的环境变量获取配置文件。

希望能回答您的问题。

例子:下面是 war 插件

<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
<warName>${app.jvm}</warName>
<webResources>
<resource>
<directory>${basedir}/src/main/resources/config</directory>
<targetPath>WEB-INF</targetPath>
<filtering>true</filtering>
</resource>
</webResources>
</configuration>
</plugin>

这里我们复制 *-dev.properties *-uat.properties

例如,如果您在本地使用 tomcat 服务器

<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>8086</port>
<ignorePackaging>true</ignorePackaging>
<systemProperties>
<env>dev</env>
</systemProperties>
</configuration>
</plugin>

这样你就可以在tomcat中设置环境变量了。在基于 System.getProperty("env") 的应用程序启动时,您可以选择配置文件。

关于java - 我想为所有环境 DEV/UAT/PROD 单独部署 WAR 文件,但我有属性文件的依赖性让我知道我将如何做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37573459/

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