当前位置: 首页 > 知识库问答 >
问题:

如何用spring boot在Application.properties中注入maven Profile的属性

孙琨
2023-03-14
<profiles>
    <profile>
        <id>development</id>

        <properties>
            <activatedProperties>development</activatedProperties>
            <env.identifier>dev</env.identifier>

        </properties>

        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>

    <profile>
        <id>qualification</id>

        <properties>
            <activatedProperties>qualification</activatedProperties>
            <env.identifier>klif</env.identifier>

        </properties>
    </profile>

    <profile>
        <id>production</id>

        <properties>
            <activatedProperties>production</activatedProperties>
            <env.identifier>prod</env.identifier>

        </properties>
    </profile>
</profiles>
<build>
    <finalName>myApplication</finalName>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <executable>true</executable>
            </configuration>
        </plugin>
    </plugins>
</build>
spring.profiles.active=@activatedProperties@
logging.file=logs/facade_@env.identifier@.log

共有1个答案

吕和风
2023-03-14

更新

您可能缺少maven资源插件:

<plugins>


      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <version>2.7</version>
         <configuration>
           <delimiters>
             <delimiter>@</delimiter>
           </delimiters>
           <useDefaultDelimiters>false</useDefaultDelimiters>
         </configuration>
      </plugin>
      ...
    </plugins>

那么在您的命令中,您只需添加:

mvn resources:resources
 类似资料:
  • 我想拆分property定义的Application.Properties的值,并将其用作另一个属性的值。 我希望属性的值为 我尝试使用进行拆分,但当我在控制器中获取属性时,仍然以的形式获取值 我如何获得它仅?

  • 我有一个处理jwt创建的类: 并从resources文件夹中的属性文件中获取jwtSecret和jwtExpirationInMs。 我的单元测试如下所示:

  • 我正在尝试将属性从pom.xml加载到application.properties中。我想创建两个配置文件:dev和prod来使用不同的数据库URL。我使用Jenkins作为CI,在我的所有应用程序中(主要是Spring MVC,没有引导项目)都使用maven配置文件部署到Tomcat。使用maven属性可以做到这一点吗?我尝试了这样的方法:

  • 如何在VO或者Entity类中调用springboot中的依赖注入? 情况是这样的,我有个PostVO类,其中有个catids属性需要通过另一个属性catid递归得到。我把方法写到了service的实现类(CatServiceImpl)里,然后在PostVO里调用。结果出问题了:CatServiceImpl必须交给springboot的ioc容器管理才行,不然mybatis-plus就没法用,这就

  • 在Spring Boot中,有一个属性文件application.property,与这个属性一起,我创建了一个额外的属性文件,名为MyOwnProp.properties。 如何在中加载?表示如何在Application.properties中包含另一个命名属性? 有什么进展吗?

  • 我尝试用spring boot调用一个get http响应,并且在application.properties中有一个url值,我尝试在注释@getmapping中调用这个值,如下所示: 也许还有别的方法可以得到这个值? 谢谢大家的帮助。