2017-09-28 80 views
0

我試圖創建一個Spring Boot可部署的war文件,然後將其部署到weblogic 12c。應用程序啓動失敗,出現異常:Spring Boot App部署到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在戰爭中存在WEB-INF/classes/文件夾下。如果戰爭文件解壓縮到本地磁盤並以分解格式重新部署應用程序,我們將不會看到此異常。

我錯過了什麼嗎?

謝謝。

+1

春季啓動旨在獨立運行而不是在應用程序服務器內部 – jmhostalet

+0

您是否按照指南在weblogic上部署spring-boot應用程序?您將需要一些額外的配置文件。 – Patrick

+1

@jmhostalet你的陳述是不正確的。 Spring Boot應用程序也可以部署在App Servers中,我們正在JBoss部署Spring Boot應用程序兩年。 https://docs.spring.io/spring-boot/docs/current/reference/html/howto-traditional-deployment.html –

回答

0

沒有看到您的代碼,或知道您的春季啓動版本,很難真正診斷您的問題。這裏和那裏有一些小的變化,必須讓我的Spring引導應用程序在WebLogic上運行。認爲包含weblogic.xml和一些依賴關係在這裏和那裏

主要的是我的應用程序類添加implements WebApplicationInitializer像這樣。

@SpringBootApplication 
public class Application extends SpringBootServletInitializer 
    implements 
    WebApplicationInitializer { 

    public static void main(String[] args) { 
    SpringApplication.run(Application.class, args); 
    } 

} 

它看起來像其他一些問題類似於你的問題,也許這些可以幫助你。看起來你可能在使用其他spring(但不是spring-boot)依賴關係進行spring-boot時遇到問題。因爲我不知道你的pom文件或應用程序類文件是什麼樣子,所以不可能真正說出來。

One

Two

Three

Four

+0

嗨我試圖在weblogic服務器上部署和運行這個演示應用程序。源代碼可在以下網址找到: https://github.com/spring-petclinic/spring-petclinic-graphql/tree/master/backend 正如您所建議的那樣,我還對應用程序進行了一些更改: 1 。修改的主要應用爲: @SpringBootApplication 公共類PetClinicApplication延伸SpringBootServletInitializer實現WebApplicationInitializer 2.添加的weblogic.xml以除去依賴性衝突 \t \t \t true \t user3432316

0

我已經想通了這個問題的原因。部署war文件時,這在weblogic中有點奇怪。它創建一個內部_wl_cls_gen.jar文件來打包/ WEB-INF/classes文件夾的所有文件。

但是應用程序仍然在匹配目錄中查找/ j2ee/wl12/cp_domain/servers/cp_msp01/tmp/_WL_user/cpapps-graphql-results/g4qyhf/war/WEB-INF/classes/**/* .graphqls並找不到任何匹配。

相關問題