Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot tomcat中的Spring boot WAR-将application.properties外部化_Spring Boot_Tomcat - Fatal编程技术网

Spring boot tomcat中的Spring boot WAR-将application.properties外部化

Spring boot tomcat中的Spring boot WAR-将application.properties外部化,spring-boot,tomcat,Spring Boot,Tomcat,我有一个SpringBoot应用程序,打包成WAR并部署到tomcat中。 由于一些遗留问题,它是以这种方式部署的 我在将应用程序外部化时遇到问题。属性 DevOps团队要求文件位于/app/shared/conf/ 我发现了很多关于这个主题的问题,但没有一个解决方案有效… 这就是我迄今为止所尝试的: 添加到tomcat的Context.xml中: <Parameter name="spring.config.location" value="/app/shared/conf/applic

我有一个SpringBoot应用程序,打包成WAR并部署到tomcat中。 由于一些遗留问题,它是以这种方式部署的

我在将应用程序外部化时遇到问题。属性
DevOps团队要求文件位于/app/shared/conf/
我发现了很多关于这个主题的问题,但没有一个解决方案有效…
这就是我迄今为止所尝试的:

添加到tomcat的Context.xml中:

<Parameter name="spring.config.location" value="/app/shared/conf/application.properties" />
添加到startup.sh:

export spring_config_location=/app/shared/conf/
export SPRING_CONFIG_LOCATION=/app/shared/conf/application.properties
添加到startup.sh,并在SecurityConfig上设置此选项可扩展WebSecurityConfigureAdapter

CLASSPATH=/app/shared/conf/
@PropertySource("classpath:application.properties")
@PropertySource("file:/app/shared/conf/application.properties")
添加到应用程序主类:

 System.setProperty("spring.config.location", "/app/shared/conf/application.properties");
添加到SecurityConfig扩展了WebSecurity配置适配器

CLASSPATH=/app/shared/conf/
@PropertySource("classpath:application.properties")
@PropertySource("file:/app/shared/conf/application.properties")
这就是我一直遇到的错误:

 .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::             (v2.2.0.M1)

11-Jun-2019 02:54:22.034 SEVERE [localhost-startStop-1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start: 
 org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/prntPrtl]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:754)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:986)
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1857)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThrexeroxoolExecutor.runWorker(ThrexeroxoolExecutor.java:1142)
    at java.util.concurrent.ThrexeroxoolExecutor$Worker.run(ThrexeroxoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.xerox.printHub.app.PrinterPortal]; nested exception is java.io.FileNotFoundException: class path resource [application.properties] cannot be opened because it does not exist
    at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:181)
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:315)
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:232)
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:275)
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:95)
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:705)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:531)
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:142)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:785)
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:407)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:322)
    at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:157)
    at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:137)
    at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:91)
    at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:171)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5204)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 10 more
Caused by: java.io.FileNotFoundException: class path resource [application.properties] cannot be opened because it does not exist
    at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:180)
    at org.springframework.core.io.support.EncodedResource.getInputStream(EncodedResource.java:159)
    at org.springframework.core.io.support.PropertiesLoaderUtils.fillProperties(PropertiesLoaderUtils.java:99)
    at org.springframework.core.io.support.PropertiesLoaderUtils.fillProperties(PropertiesLoaderUtils.java:73)
    at org.springframework.core.io.support.PropertiesLoaderUtils.loxeroxroperties(PropertiesLoaderUtils.java:59)
    at org.springframework.core.io.support.ResourcePropertySource.<init>(ResourcePropertySource.java:67)
    at org.springframework.core.io.support.DefaultPropertySourceFactory.createPropertySource(DefaultPropertySourceFactory.java:37)
    at org.springframework.context.annotation.ConfigurationClassParser.processPropertySource(ConfigurationClassParser.java:452)
    at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:271)
    at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:242)
    at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:191)
    at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:295)
    at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:242)
    at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:199)
    at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:167)
    ... 26 more
。\uuuuuuuuuuuu_
/\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/  ___)| |_)| | | | | || (_| |  ) ) ) )
'  |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
::弹簧靴::(v2.2.0.M1)
2019年6月11日02:54:22.034严重[localhost-startStop-1]org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild:开始:
org.apache.catalina.LifecycleeException:无法启动组件[StandardEngine[catalina].StandardHost[localhost].StandardContext[/prntPrtl]]
位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
位于org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:754)
位于org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730)
位于org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
位于org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:986)
位于org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1857)
位于java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
在java.util.concurrent.FutureTask.run(FutureTask.java:266)处
位于java.util.concurrent.ThrexeroxoolExecutor.runWorker(ThrexeroxoolExecutor.java:1142)
位于java.util.concurrent.ThrexeroxoolExecutor$Worker.run(ThrexeroxoolExecutor.java:617)
运行(Thread.java:745)
原因:org.springframework.beans.factory.BeanDefinitionStoreException:无法解析配置类[com.xerox.printHub.app.PrinterPortal];嵌套异常为java.io.FileNotFoundException:无法打开类路径资源[application.properties],因为它不存在
位于org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:181)
位于org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:315)
位于org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:232)
位于org.springframework.context.support.postprocessorregistrationlegate.invokeBeanDefinitionRegistryPostProcessors(postprocessorregistrationlegate.java:275)
位于org.springframework.context.support.postprocessorregistrationlegate.invokeBeanFactoryPostProcessors(postprocessorregistrationlegate.java:95)
位于org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:705)
位于org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:531)
位于org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:142)
位于org.springframework.boot.SpringApplication.refresh(SpringApplication.java:785)
位于org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:407)
位于org.springframework.boot.SpringApplication.run(SpringApplication.java:322)
位于org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:157)
位于org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:137)
在org.springframework.boot.web.servlet.support.SpringBootServletInitializer.onStartup上(SpringBootServletInitializer.java:91)
在org.springframework.web.SpringServletContainerInitializer.onStartup上(SpringServletContainerInitializer.java:171)
位于org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5204)
位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 10多
原因:java.io.FileNotFoundException:无法打开类路径资源[application.properties],因为它不存在
位于org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:180)
位于org.springframework.core.io.support.EncodedResource.getInputStream(EncodedResource.java:159)
位于org.springframework.core.io.support.PropertiesLoaderUtils.fillProperties(PropertiesLoaderUtils.java:99)
位于org.springframework.core.io.support.PropertiesLoaderUtils.fillProperties(PropertiesLoaderUtils.java:73)
位于org.springframework.core.io.support.PropertiesLoaderUtils.loxeroxProperties(PropertiesLoaderUtils.java:59)
位于org.springframework.core.io.support.ResourcePropertySource。(ResourcePropertySource.java:67)
位于org.springframework.core.io.support.DefaultPropertySourceFactory.CreatePropertySourceSource(DefaultPropertySourceFactory.java:37)
位于org.springframework.context.annotation.ConfigurationClassParser.processPropertySource(ConfigurationClassParser.java:452)
位于org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:271)
位于org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:242)
位于org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:191)
在org.spring