我有一个非常基本的Java8应用程序,使用Resteasy 3.1.4。最终部署应用程序内引擎标准环境。
但当我将Resteasy升级到3.5.0时。最终的
servlet java的未捕获异常。lang.NoSuchFieldError:SERVER\u SENT\u EVENTS\u TYPE at org。jboss。放松。果心ResourceMethodInvoker。isSseResourceMethod(ResourceMethodInvoker.java:162)位于org。jboss。放松。果心ResourceMethodInvoker。(ResourceMethodInvoker.java:147)位于org。jboss。放松。果心ResourceMethodRegistry。org上的processMethod(ResourceMethodRegistry.java:345)。jboss。放松。果心ResourceMethodRegistry。在org注册(ResourceMethodRegistry.java:272)。jboss。放松。果心ResourceMethodRegistry。在org上添加ResourceFactory(ResourceMethodRegistry.java:223)。jboss。放松。果心ResourceMethodRegistry。在org上添加ResourceFactory(ResourceMethodRegistry.java:195)。jboss。放松。果心ResourceMethodRegistry。在org上添加ResourceFactory(ResourceMethodRegistry.java:181)。jboss。放松。果心ResourceMethodRegistry。在org上添加ResourceFactory(ResourceMethodRegistry.java:158)。jboss。放松。果心ResourceMethodRegistry。addPerRequestResource(ResourceMethodRegistry.java:77)位于org。jboss。放松。spi。重新部署。在org注册(ResteasyDeployment.java:496)。jboss。放松。spi。重新部署。startInternal(ResteasyDeployment.java:279)位于org。jboss。放松。spi。重新部署。在org启动(ResteasyDeployment.java:86)。jboss。放松。插件。服务器servlet。ServletContainerDispatcher。位于org的init(ServletContainerDispatcher.java:119)。jboss。放松。插件。服务器servlet。HttpServletDispatcher。init(HttpServletDispatcher.java:36)位于org。日食码头。servlet。ServletHolder。位于org的initServlet(ServletHolder.java:643)。日食码头。servlet。ServletHolder。在org初始化(ServletHolder.java:422)。日食码头。servlet。ServletHandler。在org初始化(ServletHandler.java:892)。日食码头。servlet。ServletContextHandler。位于org的startContext(ServletContextHandler.java:349)。日食码头。网络应用。WebAppContext。org上的startWebapp(WebAppContext.java:1406)。日食码头。网络应用。WebAppContext。startContext(WebAppContext.java:1368)位于org。日食码头。服务器处理程序。ContextHandler。doStart(ContextHandler.java:778)位于org。日食码头。servlet。ServletContextHandler。doStart(ServletContextHandler.java:262)位于org。日食码头。网络应用。WebAppContext。doStart(WebAppContext.java:522)位于org。日食码头。util。组成部分抽象生命周期。在com上启动(AbstractLifeCycle.java:68)。谷歌。应用托管。运行时。jetty9.AppVersionHandlerMap。com上的createHandler(AppVersionHandlerMap.java:244)。谷歌。应用托管。运行时。jetty9.AppVersionHandlerMap。getHandler(AppVersionHandlerMap.java:182)位于com.google.应用托管。运行时。jetty9.JettyServletEngineeAdapter。com上的serviceRequest(JettyServletEngineAdapter.java:97)。谷歌。应用托管。运行时。JavaRuntime$RequestRunnable。dispatchServletRequest(JavaRuntime.java:680)在com上。谷歌。应用托管。运行时。JavaRuntime$RequestRunnable。dispatchRequest(JavaRuntime.java:642)在com上。谷歌。应用托管。运行时。JavaRuntime$RequestRunnable。在com上运行(JavaRuntime.java:612)。谷歌。应用托管。运行时。JavaRuntime$NullSandboxRequestRunnable。在com上运行(JavaRuntime.java:806)。谷歌。应用托管。运行时。ThreadGroupPool$PoolEntry。在java上运行(ThreadGroupPool.java:274)。lang.Thread。运行(Thread.java:745)
所以看起来和环境有关。有线索解决吗?
谢啦
我遇到了同样的错误,通过在pom中排除jar解决了它。xml
<dependencies>
<dependency>
[...]
<exclusions>
<exclusion>
<groupId>javax.ws.rs</groupId>
<artifactId>jsr311-api</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
我在Github上发布了@NicoNes的回复
Hi@freddyboucher我不认为此提交是您正在处理的NoSuchFieldError的原因。RestEasy 3.1.4。Final是JAX-RS-API 2.0.1规范的实现,而3.5.1。Final是JAX-RS-API 2.1规范的改进。您正在谈论的缺失字段来自JAX-RS-API 2.1中的javax.ws.rs.core.MediaType。因此,您能否确保您的运行时执行没有嵌入JAX-RS-API的错误版本?
让我知道。
-尼古拉斯
他是对的,我pom.xml:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.0.1</version>
</dependency>
</dependencies>
</dependencyManagement>
升级到2.1,修复了我的问题!
我试图在本地appengine模拟器上运行我的代码,但我仍然得到错误信息,即ServletInitializer类不是javax.servlet.servlet有启动时的日志 我已经创建了ServletInitializer类,类似于教程和示例项目https://github.com/googleCloudplatform/get-started-java/blob/master/appengin
本文向大家介绍Java中的StringBuffer是最终版本吗?,包括了Java中的StringBuffer是最终版本吗?的使用技巧和注意事项,需要的朋友参考一下 是的,StringBuffer类是最终的Java。我们不能覆盖此类。
使用Spring Boot 2.0.0。在Google Appengine标准上发布。使用自动伸缩,但试图控制实例的创建/销毁。需要能够做一些清理,并希望记录这些事件。 Spring Boot中的任何方法,如@PreDestroy或ContextClosedEvent,似乎都不适用于GAE。 根据文档,应该可以通过添加关机钩子来检测实例的关机。 文档LifecycleManager.Shutdow
Web JS SDK Android SDK iOS SDK 小程序 SDK C++ SDK
正在尝试使用CLI将ssh插入AppEngine实例。我有正确的命令,但不确定如何为标准实例允许ssh,或者这根本不可能。我是Gcloud(AWS Guy)的新手。他们的文档在实例类型和允许或不允许的方面不是很好。有人对此有什么建议吗。提前道谢!
; Script generated by the HM NIS Edit Script Wizard. ; HM NIS Edit Wizard helper defines !define PRODUCT_NAME "极点中文" !define PRODUCT_VERSION "6.5 标准版" !define PRODUCT_PUBLISHER "杜志民" !define PRODUCT_