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

Spring加载针型线

井逸明
2023-03-14

我有一个必须在生产中部署的Spring应用程序。不幸的是,我无法打开prod配置文件。我有一个application-dev.yml和application-prod.yml文件以及application.yml。我的application.yml如下:

# ===================================================================
# Spring Boot configuration.
#
# This configuration will be overridden by the Spring profile you use,
# for example application-dev.yml if you use the "dev" profile.
#
# More information on profiles: http://www.jhipster.tech/profiles/
# More information on configuration properties: http://www.jhipster.tech/common-application-properties/
# ===================================================================

# ===================================================================
# Standard Spring Boot properties.
# Full reference is available at:
# http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
# ===================================================================


eureka:
    client:
        enabled: true
        healthcheck:
            enabled: true
        fetch-registry: true
        register-with-eureka: true
        instance-info-replication-interval-seconds: 10
        registry-fetch-interval-seconds: 10
    instance:
        appname: majurca
        instanceId: majurca:${spring.application.instance-id:${random.value}}
        lease-renewal-interval-in-seconds: 5
        lease-expiration-duration-in-seconds: 10
        status-page-url-path: ${management.context-path}/info
        health-check-url-path: ${management.context-path}/health
        metadata-map:
            zone: primary # This is needed for the load balancer
            profile: ${spring.profiles.active}
            version: ${info.project.version}
ribbon:
    eureka:
        enabled: true
management:
    security:
        roles: ADMIN
    context-path: /management
    info:
        git:
            mode: full
    health:
        mail:
            enabled: false # When using the MailService, configure an SMTP server and set this to true
spring:
    profiles:
        default: prod
        active: prod
    application:
        name: majurca
    jackson:
        serialization.write_dates_as_timestamps: false
    jpa:
        open-in-view: false
        hibernate:
            ddl-auto: none
            naming:
                physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy
                implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
    messages:
        basename: i18n/messages
    mvc:
        favicon:
            enabled: false
    thymeleaf:
        mode: XHTML
security:
    basic:
        enabled: false

server:
    session:
        cookie:
            http-only: true

info:
    project:
        version: #project.version#

# ===================================================================
# JHipster specific properties
#
# Full reference is available at: http://www.jhipster.tech/common-application-properties/
# ===================================================================

jhipster:
    async:
        core-pool-size: 2
        max-pool-size: 50
        queue-capacity: 10000
    # By default CORS is disabled. Uncomment to enable.
    #cors:
        #allowed-origins: "*"
        #allowed-methods: "*"
        #allowed-headers: "*"
        #exposed-headers: "Authorization,Link,X-Total-Count"
        #allow-credentials: true
        #max-age: 1800
    mail:
        from: majurca@localhost
    swagger:
        default-include-pattern: /api/.*
        title: majurca API
        description: majurca API documentation
        version: 0.0.1
        terms-of-service-url:
        contact-name:
        contact-url:
        contact-email:
        license:
        license-url:
    ribbon:
        display-on-active-profiles: dev

# ===================================================================
# Application specific properties
# Add your own application properties here, see the ApplicationProperties class
# to have type-safe configuration, like in the JHipsterProperties above
#
# More documentation is available at:
# http://www.jhipster.tech/common-application-properties/
# ===================================================================

application:
    forms:
        register:
            autocomplete-cp-nbitems: 20


google:
  recaptcha:
    url: https://www.google.com/recaptcha/api/siteverify
    secret: 6Lci63UUAAAAAIsluk6G3ueNiJ_ET0m4luMsC8O5
    key: 6Lci63UUAAAAADFyeZFTkEaHshVK2LQgYV63PPD_

    #key: 6LfUG3UUAAAAAMxScj7ZFY-OXedoWLRzl0wryrrF
    #secret: 6LfUG3UUAAAAANsSIsCFOi3X9uYzS72De8EqKqNM

因此,您可以看到我将spring.profiles.defaultspring.pofiles.active设置为prod。我还尝试使用maven和选项-dspring.profiles.active=prod构建应用程序,但尽管如此,每次运行生成的war时,它都表示以下配置文件处于活动状态:swagger、dev

有人知道为什么prod配置文件没有加载吗?提前谢了。

共有1个答案

阎成天
2023-03-14

我已经在spring-boot 2.1.4上验证了以下配置:

application.yaml:

spring:
 profiles:
   active: dev

application-dev.yaml:

sample:
  value: development
sample:
  value: production
package com.example.demo;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.event.ApplicationStartedEvent;
import org.springframework.context.event.EventListener;

@SpringBootApplication
public class DemoApplication {

    @Value("${sample.value}")
    private String sampleValue;
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);

    }

    @EventListener
    public void onAppStarted(ApplicationStartedEvent evt) {
        System.out.println("Sample Value: " + sampleValue);
    }

}

你说,不管你尝试什么:

以下配置文件处于活动状态:swagger、dev

现在“大摇大摆”的个人资料从何而来?我看不出有任何提到它的地方。如果您使用java-jar myapp.jar运行应用程序,我可以看到的一种可能性是,在某个spring.factorys文件中定义了environmentPostProcessor--它是一个钩子,您可以在其中“摆弄”概要文件,以及“手动”(在代码中)添加活动概要文件。

因此,请检查这种可能性,但再次--您在spring boot中所做的是正确的(嗯,从技术上来说,您不需要spring.profiles.default条目,但这没有坏处)

 类似资料:
  • 我想要两个配置文件,一个使用MySQL数据源,另一个使用H2数据源。所以我创造了 和 我使用选项-Dspring.profiles。active=使用测试配置文件运行应用程序的测试。 有趣的是,测试配置文件似乎拾取了H2数据源,而不是方言,因此它崩溃了。如果我将 H2 配置放在 application.properties 中,它工作正常。 这里是运行测试配置文件的日志: 我认为错误的冬眠方言是崩

  • 有很多关于“懒惰”的例子和文档。也许我没有明白,但为什么要用它呢?实例化bean成本

  • 我想使用热插拔与我的Spring靴项目。我无法通过在我的IDE(IntelliJ)中运行它来使它工作,尽管文档中包含了这个主题。我只是使用带有VM属性的main方法运行该类: 我的问题是,我如何让它工作?:-)

  • 使用三维软件导出.obj模型文件的时候,会同时导出一个材质文件.mtl, .obj和.stl文件包含的信息一样都是几何体顶点相关数据,材质文件.mtl包含的是模型的材质信息,比如颜色、贴图路径等。 加载.obj三维模型的时候,可以只加载.obj文件,然后借助three.js引擎自定义材质Material,也可以同时加载.obj和.mtl文件。 只加载obj文件 只加载obj文件,引入路径three

  • 基本所有的三维软件都支持导出.stl格式的三维模型文件,.stl格式的三维模型不包含材质Material信息,只包含几何体顶点数据的信息,你可以简单地把stl文件理解为几何体对象Geometry,本节课素材box.STL是一个立方体, 你可以用记事本或代码编辑器打开文件box.STL查看stl的数据结构。 stl文件数据结构 .stl文件格式的数据结构,对于大多数普通开发者来说,如果仅仅为了加载显

  • 第七课:模型加载 目前为止,我们一直在硬编码描述立方体。你一定觉得这样做很笨拙、不方便。 本课将学习从文件中加载3D模型。和加载纹理类似,我们先写一个小的、功能有限的加载器,接着再为大家介绍几个比我们写的更好的、实用的库。 为了让课程尽可能简单,我们将采用简单、常用的OBJ格式。同样也是出于简单原则,我们只处理每个顶点有一个UV坐标和一个法向量的OBJ文件(目前你不需要知道什么是法向量)。 加载O