我正在使用不同的Maven配置文件将我的应用程序部署到不同的环境。(使用weblogic-maven-plugin,但是我认为这并不重要)
在应用程序中,我使用Spring Web
Services。现在,我想根据环境更改端点。(端点在Spring的applicationContext.xml中定义)
我的想法是从属性文件中读取值。该属性文件将在Mavens软件包阶段写入(或复制)。
这是一个好主意吗?
如果是:如何使用maven创建此属性(或整个文件)。
如果否:解决此问题的更好方法是什么?
我实现了类似的操作,但是将变量pom.xml
放在properties文件中。因此,我的属性文件中的变量将由Maven在包装中更改。
首先,我在pom的profiles部分中定义了这些var:
<profiles>
<profile>
<id>dev</id>
<activation><activeByDefault>true</activeByDefault></activation>
<properties>
<props.debug>true</props.debug>
<props.email>false</props.email>
<what.ever.you.want>value for dev profile</what.ever.you.want>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<props.debug>false</props.debug>
<props.email>true</props.email>
<what.ever.you.want>value for prod profile</what.ever.you.want>
</properties>
</profile>
</profiles>
然后激活行家对资源的处理和过滤。因此,在您的构建部分中:
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
最后,我可以在属性文件,配置文件中包含“ vars”。例如,在我的项目中,我有一个email.properties
用于配置电子邮件发送的文件。属性“
sendEmail”指示我是否必须发送电子邮件(产品配置文件)或在调试中将其打印(开发配置文件)。使用dev
profile时,此var将被设置为false,而使用prod profile时,该属性将具有真实值。
sendEmail=${props.email}
这不仅适用于属性文件,还适用于XML(我猜每个文本文件都适用)
缺点是:
问题内容: 在我的application.yml中,我得到了: 还有其他一些使用不同的配置文件。启动应用程序时,我得到以下信息: 如果我只是将log4j2.xml放在已分析的文件旁边,则它可以工作。所以我认为这是我错过依赖关系的原因,或者使用log4j2无法实现? 问题答案: 在我这边,我正在使用属性文件而不是Yaml文件。我需要两个日志文件:一个将所有内容记录到控制台,另一个用于记录文件。因此,
我正在尝试将我的应用程序配置为具有两个构建配置文件:开发和生产。为此,我在src/main/resources文件夹下创建了两个子目录:src/main/resources/development和src/main/resources/production。每个子目录都有自己的。属性文件。 我使用命令mvn install-P${profile_here}构建应用程序 Maven将与所选配置文件相
对于一些人来说,这可能是一个非常简单的问题,但就我个人而言,Log4j配置非常困难,学习执行脑部手术可能没有那么困难。 我正试图让多个日志记录者登录到不同的文件。这是我的log4j中的内容。属性文件: 这是我的(非常简单的)Java应用程序用于测试配置: 我有两个问题: 有一个问题,我总是在
我有spring boot的申请。我需要将spring boot配置文件连接到maven配置文件,所以当我调用命令时 或 它应该调用spring boot加载application-dev.yml或application-prod.yml。当我打电话的时候 它应该在启动之前调用application-dev.yml文件。因此需要从2个命令调用spring boot开发配置文件。我有一个问题,每次我
Usng maven和Springboot。我希望每个环境(dev、cert)使用不同的文件配置(log4j2.xml、application.properties)。我在pom上创建了两个配置文件。xml文件,我还有两个文件夹,分别放在src/main/resources中,每个文件夹都有文件配置(dev和cert)。我想根据我使用的配置文件包括这些文件。我在目录中有其他文件,所以我不想使用这种
问题内容: 对于不同的配置文件,maven pom.xml文件中是否可能具有一组不同的依赖关系? 例如 我想在一个配置文件中选择一个不同的依赖项jar文件,该文件具有相同的类名和相同接口的不同实现。 问题答案: 在此引用Maven文档: 配置文件元素既包含可选激活(配置文件触发器),又包含如果已激活POM则要对POM进行的一组更改。例如,为测试环境构建的项目可能指向与最终部署不同的数据库。或者可以