[英]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.