2016-09-30 51 views
0

我在Eclipse中加載了我的Spring/Maven項目(Spring Tools Suite變體),安裝了Run Jetty Run,並點擊了Run JettyNoSuchMethodError:org.eclipse.jetty.util.MultiMap.add

問題:碼頭不能正常啓動:

OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 
Running Jetty 9.0.0.M3 
ParentLoaderPriority enabled 
Enable config class:runjettyrun.webapp.RJRWebInfConfiguration 
Enable config class:org.eclipse.jetty.webapp.WebXmlConfiguration 
Enable config class:runjettyrun.webapp.RJRMetaInfoConfiguration 
Enable config class:org.eclipse.jetty.webapp.FragmentConfiguration 
Enable config class:runjettyrun.annotation.RJRAnnotationConfiguration 
Enable config class:org.eclipse.jetty.webapp.JettyWebXmlConfiguration 
Enable config class:org.eclipse.jetty.webapp.TagLibConfiguration 
ProjectClassLoader: entry=/home/nico/src/nemaki/core/target/classes 
ProjectClassLoader: entry=/home/nico/.m2/repository/javax/servlet/javax.servlet-api/3.0.1/javax.servlet-api-3.0.1.jar 
[... many other JAR libraries, none being Jetty ...] 
ProjectClassLoader: entry=/home/nico/.m2/repository/jp/aegif/nemakiware/nemakiware-common/2.3.10/nemakiware-common-2.3.10.jar 
Excluded entry=/home/nico/src/nemaki/core/target/test-classes 
2016-09-30 17:17:09.780:INFO:oejs.Server:main: jetty-9.0.0.M3 
2016-09-30 17:17:12.121:WARN:oejuc.AbstractLifeCycle:main: FAILED [email protected]{/core,[file:/home/nico/src/nemaki/core/WebContent/],STARTING}: java.lang.NoSuchMethodError: org.eclipse.jetty.util.MultiMap.add(Ljava/lang/Object;Ljava/lang/Object;)V 
java.lang.NoSuchMethodError: org.eclipse.jetty.util.MultiMap.add(Ljava/lang/Object;Ljava/lang/Object;)V 
    at org.eclipse.jetty.annotations.ClassInheritanceHandler.handle(ClassInheritanceHandler.java:56) 
    at org.eclipse.jetty.annotations.AnnotationParser$MyClassVisitor.visit(AnnotationParser.java:398) 
    at org.objectweb.asm.ClassReader.accept(Unknown Source) 

問題:我該如何解決呢?

回答

0

您正在運行Jetty的不穩定版本。

版本9.0.0.M3不是一個穩定的版本(這是一個實驗里程碑版本,是發佈的候選版本,有助於集成商開始爲最終版本發展代碼)。

使用穩定版本,例如9.3.12.v20160915,您將有更好的體驗。

9.3.12.v20160915MultiMap類可以在jetty-util-9.3.12.v20160915.jar

找到另外請注意,9碼頭的servlet是3.1,而不是3.0.1(在輸出看到的)

0

正如喬金 - 9.0解釋。 0.M3是Jetty的舊版本。

幸運的是,Run Jetty Run已在幾個星期前更新。
這裏是如何使用最新的運行碼頭運行:

  • 卸載從Eclipse中運行碼頭運行的任何現有版本
  • 添加此更新站點:http://xzer.github.io/run-jetty-run-updatesite/nightly/
  • 從它安裝所需組件和可選組件9.3.6
  • 您現在已經使用Jetty 9.3.6運行Jetty Run,該Jetty已經運行了一年,但不會觸發上述錯誤。請務必在Run configurations中選擇它。