2017-07-02 22 views
1

我試圖在Google App Engine上部署我的Spring Boot應用程序,但在嘗試調用任何與之關聯的API時收到以下錯誤日誌應用程序。javax.el.E​​xpressionFactory在Google App Engine標準版上運行Spring Boot應用程序時出錯

無法初始化'javax.el.E​​xpressionFactory'。請檢查您是否在類路徑中 的EL的依賴,或使用 ParameterMessageInterpolator而不是在 org.eclipse.jetty.annotations.ServletContainerInitializersStarter.doStart(ServletContainerInitializersStarter.java:68) 在 org.eclipse.jetty.util.component。 AbstractLifeCycle.start(AbstractLifeCycle.java:68) 在 org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:330) 在 org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java: 1406) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1368) at org.eclips e.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:778) 在 org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:262) 在 org.eclipse.jetty.webapp。 WebAppContext.doStart(WebAppContext.java:522) 在 org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) 在 com.google.apphosting.runtime.jetty9.AppVersionHandlerMap.createHandler( AppVersionHandlerMap.java:244) 在 com.google.apphosting.runtime.jetty9.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:182) 在 com.google.apphosting.runtime.jetty9.JettyServletEngineAdapter.serviceReque ST(JettyServletEngineAdapter.java:97) 在 com.google.apphosting.runtime.JavaRuntime $ RequestRunnable.dispatchServletRequest(JavaRuntime.java:657) 在 com.google.apphosting.runtime.JavaRuntime $ RequestRunnable.dispatchRequest(JavaRuntime。 Java的:619) 在 com.google.apphosting.runtime.JavaRuntime $ RequestRunnable.run(JavaRuntime.java:589) 在 com.google.apphosting.runtime.JavaRuntime $ NullSandboxRequestRunnable.run(JavaRuntime.java:783) 在 com.google.apphosting.runtime.ThreadGroupPool $ PoolEntry.run(ThreadGroupPool.java:263) 在java.lang.Thread.run(Thread.java:745)引起的: org.springframework.beans.factory .Unsatis fiedDependencyException: 使用名稱 'org.springframework.scheduling.annotation.ProxyAsyncConfiguration'創建bean時出錯: 通過方法'setConfigurers' 參數0表示的不滿足的依賴關係:嵌套的例外是 org.springframework.beans.factory.UnsatisfiedDependencyException:名爲「asyncConfiguration」

錯誤創建豆然而,當我跑我在谷歌App Engine應用程序這個錯誤只發生。如果我在本地打包並運行它,該應用程序按預期工作。

任何想法可能會導致此問題?謝謝!

回答

1

確保你有el依賴;

<dependency> 
     <groupId>org.glassfish</groupId> 
     <artifactId>javax.el</artifactId> 
     <version>3.0.1-b08</version> 
    </dependency> 

此外,還要將env-variables條目添加到appengine-web.xml中;

<env-variables> 
     <env-var name="javax.el.ExpressionFactory" value="com.sun.el.ExpressionFactoryImpl" /> 
    </env-variables> 

並添加文件 'META-INF /服務/ javax.el.E​​xpressionFactory' 與內容:

com.sun.el.ExpressionFactoryImpl 
0

隨着Krullert's answer的幫助下,我設法解決了同樣的問題java 8應用程序引擎上的應用程序我遵循Krullert's answer 的步驟我需要做的唯一的額外事情就是添加'WEB-INF/classes/META-INF/services/javax.el.E​​xpressionFactory'文件。

一句話:爲了能夠使用'org.glassfish:javax.el:3.0.1-b08',您需要使用servlet api版本3.1('javax.servlet:javax.servlet-api:3.1。 0' )。 App引擎標準現在支持Java 8可以使用它!

+0

儘管外部資源的鏈接可能很有價值,但請直接在您的答案中包含解決方案。 –

+0

嗨Maciej,鏈接是對克魯爾 –

+0

以前的答案是啊,這正是我的意思 - 要麼重新解釋答案並添加你的補充,或者如果你沒有新的添加,那麼你不應該發佈一個答案 - 評論代替。 –

相關問題