【发布时间】:2017-01-17 09:08:48
【问题描述】:
我正在将我的 SpringBoot 应用程序部署到 Tomcat 8.5 容器。 与此处描述的类似:http://docs.spring.io/spring-boot/docs/current/reference/html/howto-traditional-deployment.html 我修改了我的 SpringBootApplication,所以它可以作为战争部署。
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(Application.class);
}
}
类似于这个问题Activating Spring @Profile Using JNDI 我不希望应用程序使用 JNDI 条目来选择活动配置文件。
我添加了一个EnvironmentApplicationContextInitializer,与接受的答案中显示的相同。
但是:我不使用任何web.xml。所以配置文件没有被拾取和使用。
如何使用EnvironmentApplicationContextInitializer 制作SpringBootApplication?
【问题讨论】:
-
您不需要它...只需将
SPRING_PROFILES_ACTIVE注册为JNDI 条目(或spring.profiles.active),它就会被读取。你不需要其他任何东西。 -
谢谢,但是(类似于链接的问题)我必须重用已经存在的 JNDI 条目,并且映射该条目也不是一个选项。所以我想知道如何在使用 spring boot 的链接问题中获得公认的解决方案。
-
将其添加为
initializer。
标签: spring tomcat spring-boot jndi