2017-04-20 45 views
1

將gwt從版本2.1.1升級到2.8.0,我得到了錯誤消息將gwt從2.1.1升級到2.8.0:ServiceConfigurationError:org.apache.juli.logging.Log:Provider org.eclipse.jetty.apache.jsp.JuliLog不是子類型

2017-04-20 12:59:19.551:WARN:oejuc.AbstractLifeCycle:main: FAILED [email protected]{/,file:/C:/Users/xxx/.IntelliJIdea2017.1/system/gwt/xxx.97baa614/xxx.fdf824a8/run/www/,STARTING}{C:\Users\xxx\.IntelliJIdea2017.1\system\gwt\xxx.97baa614\xx.fdf824a8\run\www}: java.util.ServiceConfigurationError: org.apache.juli.logging.Log: Provider org.eclipse.jetty.apache.jsp.JuliLog not a subtype 
java.util.ServiceConfigurationError: org.apache.juli.logging.Log: Provider org.eclipse.jetty.apache.jsp.JuliLog not a subtype 

我發現了一些其他職位有類似的消息,像thisthis,但情況似乎有所不同: 我不使用Maven或螞蟻,只是純粹的IntelliJ ,我沒有參考任何Tomcat庫,並且我沒有意識到我們的應用程序中有任何JSP。

我發現通過調試,首先是類加載器com.google.gwt.dev.shell.jetty.Jettylauncher$WebAppContextWithReload$WebAppClassLoaderExtension加載類org.eclipse.jetty.apache.jsp.JuliLog包括接口org.apache.juli.logging.Log

然後,後接口org.apache.juli.logging.Logsun.misc.Launcher$AppClassLoader間接觸發裝載由

org.eclipse.jetty.webapp.WebAppContext.startContext() 

它調用一個

org.eclipse.jetty.jsp.JettyJspServlet 

實例的方法initialize

我不知道爲什麼需要初始化JspServlet,因爲在應用程序中沒有使用JSP,就我所見,只有幾個Servlet。而且似乎這個衝突中涉及的所有類都包含在單個罐子gwt-dev.jar中,所以我認爲沒有可能通過類路徑設置影響任何類加載行爲。

任何想法如何解決這個問題?

回答

0

我最近升級到GWT 2.8.0時看到了這個錯誤。請嘗試從項目中排除jetty-apache-Jsp相關的依賴項。

您可能也會看到其他碼頭相關問題,因此請確保您使用的碼頭版本與GWT 2.8.0使用的版本完全相同。

我現在在手機上,無法添加更多的細節,但我希望可以成爲一個有用的方向去。如果您仍然看到問題,請添加您的評論,然後我會在筆記本電腦上查看並更新答案。

+0

我不知道任何有關碼頭的依賴後。但是,我現在將休假幾個星期,一些同事將接管這項任務。我們決定將我們的項目減少到最低限度的項目並重新嘗試遷移。我試過從GWT 2.1.1升級到2.6.1,以減少更改的數量,並得到了另一個異常,這似乎與GIN/Guice相關。 – FrankPl

+0

問題依賴不是來自您的直接依賴關係,它可能是傳遞性依賴關係。如果您使用gradle,您可以輕鬆地將其排除在所有項目之外。 –

0

剛纔我碰到了這個異常將在所有在我們的項目gwt-test-utils:0.53依賴(GWT的2.8.1)