【发布时间】:2018-03-09 23:22:54
【问题描述】:
我尝试创建一个 Spring Boot 可部署的 War 文件,然后将其部署到 weblogic 12c。应用程序启动失败,出现异常:
Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled.
ERROR SpringApplication - Application startup failed
org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'graphQLServletRegistrationBean' defined in class path resource
...
嵌套异常是:
java.lang.IllegalStateException: No *.graphqls files found on classpath. Please add a graphql schema to the classpath or add a SchemaParser bean to your application context.
其实上面提到的文件*.graphqls存在于war的WEB-INF/classes/文件夹下。如果将war文件解压到本地磁盘并以分解格式重新部署应用程序,我们将不会看到此异常。
我有什么想念的吗?
谢谢。
【问题讨论】:
-
spring boot 旨在独立运行,而不是在应用服务器内部
-
您是否按照指南在 weblogic 上部署 spring-boot 应用程序?您将需要一些额外的配置文件。
-
@jmhostalet 你的说法不正确。 Spring Boot 应用程序也可以部署在 App Server 中,过去 2 年我们一直在 JBoss 中部署 Spring Boot 应用程序。 docs.spring.io/spring-boot/docs/current/reference/html/…
-
其实我可以将这个war文件部署到TOMCAT并运行它没有问题。这是加载资源文件的代码: Resource[] resources = applicationContext.getResources("classpath*:**/*.graphqls"); if(resources.length
标签: java spring spring-boot