Java 根据logback-spring.xml中的springprofile[dev、stg、prod],如何激活命令行中传递的相应spring概要文件

Java 根据logback-spring.xml中的springprofile[dev、stg、prod],如何激活命令行中传递的相应spring概要文件,java,spring,spring-mvc,spring-boot,Java,Spring,Spring Mvc,Spring Boot,在我的应用程序properteis中,我设置了spring.profiles.active=dev,但是当我从命令行通过gradle clean-Dspring.profiles.active=stg build传递时,默认情况下它只接受dev概要文件。如何覆盖application.properteis中设置的默认值。您可以使用下面的配置文件。可以使用命令行参数-Dspring.profiles.Active=“abc”设置活动配置文件。对于多个配置文件,可以包含以逗号分隔的配置文件名称 &l

在我的应用程序properteis中,我设置了spring.profiles.active=dev,但是当我从命令行通过gradle clean-Dspring.profiles.active=stg build传递时,默认情况下它只接受dev概要文件。如何覆盖application.properteis中设置的默认值。

您可以使用下面的配置文件。可以使用命令行参数-Dspring.profiles.Active=“abc”设置活动配置文件。对于多个配置文件,可以包含以逗号分隔的配置文件名称

<?xml version="1.0" encoding="UTF-8"?>
<appender name="rootappender" class="ch.qos.logback.core.rolling.RollingFileAppender">
   <springProfile name="abc">
      <file>${LOG_ROOT}/abc.log</file>
   </springProfile>
   <springProfile name="xyz">
      <file>${LOG_ROOT}/xyz.log</file>
   </springProfile>
   <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <!-- daily rollover. Make sure the path matches the one in the file element 
                or else the rollover logs are placed in the working directory. -->
      <fileNamePattern>${LOG_ROOT}/system_%d{yyyy-MM-dd}.log</fileNamePattern>
   </rollingPolicy>
   <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
      <maxFileSize>10MB</maxFileSize>
   </triggeringPolicy>
   <encoder>
      <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
   </encoder>
</appender>

${LOG\u ROOT}/abc.LOG
${LOG\u ROOT}/xyz.LOG
${LOG\u ROOT}/system\u%d{yyyy-MM-dd}.LOG
10MB
%d{yyyy-MM-dd HH:MM:ss.SSS}[%thread]-5级别%logger{36}-%msg%n

如果使用gradle-Dspring.profiles.active=abc运行java代码,是否需要对其进行任何更改。我想用gradle和spring boot来运行它。请澄清请帮助我如何覆盖application.properteis文件中设置的值。在application.properties文件中,我有spring.profiles.active=“dev”,但当我从命令行gradle-Dspring.profiles.active=“stg”build传递时,它并没有获取我传递的最新概要文件[stg]。请引导我。使用maven/graddle 2构建一个jar。使用Java命令行实用程序Java-cp运行此命令-jar--Dspring.profiles.active=“abc”。如果不从application.properties中删除条目,它应该可以工作。先生,我按照您所说的说明做了,但是当我运行java-cp时-jar./build/libs/api-0.0.1.jar-Dspring.profiles.active=“dev”,spring横幅出现并返回终端。但实际上我想在gradle buildTask之后运行docker compose。下面的链接可能会帮助您在docker命令中指定jar启动命令,您应该在那里输入参数。