繁体   English   中英

在外部 tomcat 上作为 war 运行时,Spring Boot 应用程序不读取特定于环境的 yaml 文件

[英]Spring boot application not reading environment specific yaml file when running on external tomcat as war

我正在开发一个 Spring 启动应用程序,我在外部 Tomcat 上运行该应用程序作为 war 包,在 Tomcat 启动期间使用-Dspring.profiles.active传递 spring 活动环境,该应用程序被 Spring 应用程序接受(在日志中可见)但是当我正在尝试读取application-dev.yaml定义的任何属性application-dev.yaml程序无法读取 dev yaml 中定义的任何属性。

我已经设置了外部 Tomcat,在构建了 war 文件之后,我将它放在了 tomcat 中并启动了 tomcat。 在 tomcat catalina.bat我设置了set "JAVA_OPTS=%JAVA_OPTS% -Dspring.profiles.active=dev"

日志:

2019-07-21 17:16:50.472  INFO 26228 --- [ost-startStop-1] c.f.purge.PurgeServiceApplication        : Starting PurgeServiceApplication v1.0.0 on BLR-LT-101133 with PID 26228 (C:\Users\skumar8\Documents\Tomcat\apache-tomcat-8.5.41\webapps\purge-service\WEB-INF\classes started by SKumar8 in **C:\Users\skumar8\Documents\Tomcat\apache-tomcat-8.5.41\bin)
2019-07-21 17:16:50.481  INFO 26228 --- [ost-startStop-1] c.f.purge.PurgeServiceApplication        : The following profiles are active: dev**
2019-07-21 17:16:53.626  INFO 26228 --- [ost-startStop-1] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data repositories in DEFAULT mode.
2019-07-21 17:16:53.715  INFO 26228 --- [ost-startStop-1] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 60ms. Found 0 repository interfaces.
2019-07-21 17:16:54.922  INFO 26228 --- [ost-startStop-1] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$ac299624] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2019-07-21 17:16:55.244  INFO 26228 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 4652 ms
2019-07-21 17:16:58.855  INFO 26228 --- [ost-startStop-1] o.hibernate.jpa.internal.util.LogHelper  : HHH000204: Processing PersistenceUnitInfo [
        name: default
        ...]
2019-07-21 17:16:59.223  INFO 26228 --- [ost-startStop-1] org.hibernate.Version                    : HHH000412: Hibernate Core {5.3.9.Final}
2019-07-21 17:16:59.228  INFO 26228 --- [ost-startStop-1] org.hibernate.cfg.Environment            : HHH000206: hibernate.properties not found
2019-07-21 17:16:59.702  INFO 26228 --- [ost-startStop-1] o.hibernate.annotations.common.Version   : HCANN000001: Hibernate Commons Annotations {5.0.4.Final}
2019-07-21 17:17:01.641  INFO 26228 --- [ost-startStop-1] org.hibernate.dialect.Dialect            : HHH000400: Using dialect: org.hibernate.dialect.InformixDialect
2019-07-21 17:17:01.779  INFO 26228 --- [ost-startStop-1] o.h.e.j.e.i.LobCreatorBuilderImpl        : HHH000423: Disabling contextual LOB creation as JDBC driver reported JDBC version [3] less than 4
2019-07-21 17:17:02.556  INFO 26228 --- [ost-startStop-1] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2019-07-21 17:17:03.399  INFO 26228 --- [ost-startStop-1] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2019-07-21 17:17:03.609  WARN 26228 --- [ost-startStop-1] aWebConfiguration$JpaWebMvcConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
2019-07-21 17:17:04.300  INFO 26228 --- [ost-startStop-1] o.s.b.a.e.web.EndpointLinksResolver      : Exposing 2 endpoint(s) beneath base path '/actuator'
2019-07-21 17:17:04.397  INFO 26228 --- [ost-startStop-1] c.f.purge.PurgeServiceApplication        : Started PurgeServiceApplication in 15.37 seconds (JVM running for 61.826)
2019-07-21 17:16:50.472  INFO 26228 --- [ost-startStop-1] c.f.purge.PurgeServiceApplication        : Starting PurgeServiceApplication v1.0.0 on BLR-LT-101133 with PID 26228 (C:\Users\skumar8\Documents\Tomcat\apache-tomcat-8.5.41\webapps\purge-service\WEB-INF\classes started by SKumar8 in C:\Users\skumar8\Documents\Tomcat\apache-tomcat-8.5.41\bin)
2019-07-21 17:16:50.481  INFO 26228 --- [ost-startStop-1] c.f.purge.PurgeServiceApplication        : The following profiles are active: dev
2019-07-21 17:16:53.626  INFO 26228 --- [ost-startStop-1] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data repositories in DEFAULT mode.
2019-07-21 17:16:53.715  INFO 26228 --- [ost-startStop-1] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 60ms. Found 0 repository interfaces.
2019-07-21 17:16:54.922  INFO 26228 --- [ost-startStop-1] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$ac299624] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2019-07-21 17:16:55.244  INFO 26228 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 4652 ms
2019-07-21 17:16:58.855  INFO 26228 --- [ost-startStop-1] o.hibernate.jpa.internal.util.LogHelper  : HHH000204: Processing PersistenceUnitInfo [
        name: default
        ...]
2019-07-21 17:16:59.223  INFO 26228 --- [ost-startStop-1] org.hibernate.Version                    : HHH000412: Hibernate Core {5.3.9.Final}
2019-07-21 17:16:59.228  INFO 26228 --- [ost-startStop-1] org.hibernate.cfg.Environment            : HHH000206: hibernate.properties not found
2019-07-21 17:16:59.702  INFO 26228 --- [ost-startStop-1] o.hibernate.annotations.common.Version   : HCANN000001: Hibernate Commons Annotations {5.0.4.Final}
2019-07-21 17:17:01.641  INFO 26228 --- [ost-startStop-1] org.hibernate.dialect.Dialect            : HHH000400: Using dialect: org.hibernate.dialect.InformixDialect
2019-07-21 17:17:01.779  INFO 26228 --- [ost-startStop-1] o.h.e.j.e.i.LobCreatorBuilderImpl        : HHH000423: Disabling contextual LOB creation as JDBC driver reported JDBC version [3] less than 4
2019-07-21 17:17:02.556  INFO 26228 --- [ost-startStop-1] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2019-07-21 17:17:03.399  INFO 26228 --- [ost-startStop-1] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2019-07-21 17:17:03.609  WARN 26228 --- [ost-startStop-1] aWebConfiguration$JpaWebMvcConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
2019-07-21 17:17:04.300  INFO 26228 --- [ost-startStop-1] o.s.b.a.e.web.EndpointLinksResolver      : Exposing 2 endpoint(s) beneath base path '/actuator'
2019-07-21 17:17:04.397  INFO 26228 --- [ost-startStop-1] c.f.purge.PurgeServiceApplication        : Started PurgeServiceApplication in 15.37 seconds (JVM running for 61.826)

**Properties defined in application-dev.yaml**
spring:
  cache:
    jcache:
      config: classpath:ehcache.xml
**Error log**
java.lang.IllegalArgumentException: Cannot find cache named 'akamaiSecretCache' for Builder

**Debug Option tried**

我确实尝试过在application-dev.yaml定义一些简单的单行属性,但也没有运气。

能否确认一下生成的war文件中是否打包了application-***.yml文件? 您可以简单地提取计算机上的战争文件进行检查。 如果未包含,请使用它来包含

<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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM