JavaEE + Glassfish - BufferUnderflowException [英] JavaEE + Glassfish - BufferUnderflowException

查看:17
本文介绍了JavaEE + Glassfish - BufferUnderflowException的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个非常简单的 Java EE 应用程序,其中包含一些使用 JMS 进行通信的 bean.当我尝试部署和调试我的应用程序时,我得到了这个

I have a very simple Java EE application with some beans that use JMS to communicate. When I try to deploy and debug my application, I get this

Informazioni:   visiting unvisited references
Grave:   Unknow type constant pool 18 at position38
Grave:   Unknow type constant pool 0 at position39
Grave:   Unknow type constant pool 0 at position40
Grave:   Unknow type constant pool 105 at position43
Grave:   Unknow type constant pool 116 at position44
Grave:   Unknow type constant pool 101 at position45
Grave:   Unknow type constant pool 32 at position46
Grave:   Unknow type constant pool 108 at position47
Grave:   Unknow type constant pool -30 at position48
Grave:   Unknow type constant pool -128 at position49
Grave:   Unknow type constant pool -103 at position50
Grave:   Unknow type constant pool 105 at position51
Grave:   Unknow type constant pool 110 at position52
Grave:   Unknow type constant pool 110 at position53
Grave:   Unknow type constant pool 111 at position54
Grave:   Unknow type constant pool 118 at position55
Grave:   Unknow type constant pool 97 at position56
Grave:   Unknow type constant pool 116 at position57
Grave:   Unknow type constant pool 105 at position58
Grave:   Unknow type constant pool 118 at position59
Grave:   Unknow type constant pool 97 at position60
Grave:   Unknow type constant pool 32 at position61
Grave:   Unknow type constant pool 116 at position62
Grave:   Unknow type constant pool 101 at position63
Grave:   Unknow type constant pool 99 at position64
Grave:   Unknow type constant pool 110 at position65
Grave:   Unknow type constant pool 111 at position66
Grave:   Unknow type constant pool 108 at position67
Grave:   Unknow type constant pool 111 at position68
Grave:   Unknow type constant pool 103 at position69
Grave:   Unknow type constant pool 105 at position70
Grave:   Unknow type constant pool 97 at position71
Grave:   Unknow type constant pool 32 at position72
Grave:   Unknow type constant pool 68 at position73
Grave:   Unknow type constant pool 111 at position74
Grave:   Unknow type constant pool 119 at position75
Grave:   Unknow type constant pool 110 at position76
Grave:   Unknow type constant pool 108 at position77
Grave:   Unknow type constant pool 111 at position78
Grave:   Unknow type constant pool 97 at position79
Grave:   Unknow type constant pool 100 at position80
Grave:   Unknow type constant pool 32 at position81
Grave:   Unknow type constant pool 66 at position82
Grave:   Unknow type constant pool 111 at position83
Grave:   Unknow type constant pool 111 at position84
Grave:   Unknow type constant pool 115 at position85
Grave:   Unknow type constant pool 116 at position86
Grave:   Unknow type constant pool 101 at position87
Grave:   Unknow type constant pool 114 at position88
Grave:   Unknow type constant pool 44 at position89
Grave:   Unknow type constant pool 32 at position90
Grave:   Unknow type constant pool 112 at position91
Grave:   Unknow type constant pool 111 at position92
Grave:   Unknow type constant pool 116 at position93
Grave:   Unknow type constant pool 114 at position94
Grave:   Unknow type constant pool 97 at position95
Grave:   Unknow type constant pool 105 at position96
Grave:   Unknow type constant pool 32 at position97
Grave:   Unknow type constant pool 97 at position98
Grave:   Unknow type constant pool 117 at position99
Grave:   Unknow type constant pool 109 at position100
Grave:   Unknow type constant pool 101 at position101
Grave:   Unknow type constant pool 110 at position102
Grave:   Unknow type constant pool 116 at position103
Grave:   Unknow type constant pool 97 at position104
Grave:   Unknow type constant pool 114 at position105
Grave:   Unknow type constant pool 101 at position106
Grave:   Unknow type constant pool 32 at position107
Grave:   Unknow type constant pool 115 at position108
Grave:   Unknow type constant pool 105 at position109
Grave:   Unknow type constant pool 103 at position110
Grave:   Unknow type constant pool 110 at position111
Grave:   Unknow type constant pool 105 at position112
Grave:   Unknow type constant pool 102 at position113
Grave:   Unknow type constant pool 105 at position114
Grave:   Unknow type constant pool 99 at position115
Grave:   Unknow type constant pool 97 at position116
Grave:   Unknow type constant pool 116 at position117
Grave:   Unknow type constant pool 105 at position118
Grave:   Unknow type constant pool 118 at position119
Grave:   Unknow type constant pool 97 at position120
Grave:   Unknow type constant pool 109 at position121
Grave:   Unknow type constant pool 101 at position122
Grave:   Unknow type constant pool 110 at position123
Grave:   Unknow type constant pool 116 at position124
Grave:   Unknow type constant pool 101 at position125
Grave:   Unknow type constant pool 32 at position126
Grave:   Unknow type constant pool 108 at position127
Grave:   Unknow type constant pool 97 at position128
Grave:   Unknow type constant pool 32 at position129
Grave:   Unknow type constant pool 118 at position130
Grave:   Unknow type constant pool 101 at position131
Grave:   Unknow type constant pool 108 at position132
Grave:   Unknow type constant pool 111 at position133
Grave:   Unknow type constant pool 99 at position134
Grave:   Unknow type constant pool 105 at position135
Grave:   Unknow type constant pool 116 at position136
Grave:   Unknow type constant pool -61 at position137
Grave:   Unknow type constant pool -96 at position138
Grave:   Unknow type constant pool 32 at position139
Grave:   Unknow type constant pool 100 at position140
Grave:   Unknow type constant pool 105 at position141
Grave:   Unknow type constant pool 32 at position142
Grave:   Unknow type constant pool 100 at position143
Grave:   Unknow type constant pool 111 at position144
Grave:   Unknow type constant pool 119 at position145
Grave:   Unknow type constant pool 110 at position146
Grave:   Unknow type constant pool 108 at position147
Grave:   Unknow type constant pool 111 at position148
Grave:   Unknow type constant pool 97 at position149
Grave:   Unknow type constant pool 100 at position150
Grave:   Unknow type constant pool 32 at position151
Grave:   Unknow type constant pool 100 at position152
Grave:   Unknow type constant pool 101 at position153
Grave:   Unknow type constant pool 105 at position154
Grave:   Unknow type constant pool 32 at position155
Grave:   Unknow type constant pool 100 at position156
Grave:   Unknow type constant pool 97 at position157
Grave:   Unknow type constant pool 116 at position158
Grave:   Unknow type constant pool 105 at position159
Grave:   Unknow type constant pool 32 at position160
Grave:   Unknow type constant pool 99 at position161
Grave:   Unknow type constant pool 111 at position162
Grave:   Unknow type constant pool 109 at position163
Grave:   Unknow type constant pool 98 at position164
Grave:   Unknow type constant pool 105 at position165
Grave:   Unknow type constant pool 110 at position166
Grave:   Unknow type constant pool 97 at position167
Grave:   Unknow type constant pool 110 at position168
Grave:   Unknow type constant pool 100 at position169
Grave:   Unknow type constant pool 111 at position170
Grave:   Unknow type constant pool 32 at position171
Grave:   Unknow type constant pool 87 at position172
Grave:   Unknow type constant pool 105 at position173
Grave:   Unknow type constant pool 45 at position174
Grave:   Unknow type constant pool 70 at position175
Grave:   Unknow type constant pool 105 at position176
Grave:   Unknow type constant pool 32 at position177
Grave:   Unknow type constant pool 101 at position178
Grave:   Unknow type constant pool 32 at position179
Grave:   Unknow type constant pool 52 at position180
Grave:   Unknow type constant pool 71 at position181
Grave:   Unknow type constant pool 32 at position182
Grave:   Unknow type constant pool 76 at position183
Grave:   Unknow type constant pool 84 at position184
Grave:   Unknow type constant pool 69 at position185
Grave:   Unknow type constant pool 46 at position186
Grave:   Unknow type constant pool 103 at position188
Grave:   Unknow type constant pool 110 at position189
Grave:   Unknow type constant pool 105 at position190
Grave:   Unknow type constant pool 32 at position191
Grave:   Unknow type constant pool 115 at position192
Grave:   Unknow type constant pool 105 at position193
Grave:   Unknow type constant pool 116 at position194
Grave:   Unknow type constant pool 117 at position195
Grave:   Unknow type constant pool 97 at position196
Grave:   Unknow type constant pool 122 at position197
Grave:   Unknow type constant pool 105 at position198
Grave:   Unknow type constant pool 111 at position199
Grave:   Unknow type constant pool 110 at position200
Grave:   Unknow type constant pool 101 at position201
Grave:   Unknow type constant pool 32 at position202
Grave:   Unknow type constant pool 105 at position203
Grave:   Unknow type constant pool 108 at position204
Grave:   Unknow type constant pool 32 at position205
Grave:   Unknow type constant pool 116 at position206
Grave:   Unknow type constant pool 117 at position207
Grave:   Unknow type constant pool 111 at position208
Grave:   Unknow type constant pool 32 at position209
Grave:   Unknow type constant pool 71 at position210
Grave:   Unknow type constant pool 97 at position211
Grave:   Unknow type constant pool 108 at position212
Grave:   Unknow type constant pool 97 at position213
Grave:   Unknow type constant pool 120 at position214
Grave:   Unknow type constant pool 121 at position215
Grave:   Unknow type constant pool 32 at position216
Grave:   Unknow type constant pool 83 at position217
Grave:   Unknow type constant pool 53 at position218
Grave:   Unknow type constant pool 32 at position219
Grave:   Unknow type constant pool 115 at position220
Grave:   Unknow type constant pool 97 at position221
Grave:   Unknow type constant pool 114 at position222
Grave:   Unknow type constant pool -61 at position223
Grave:   Unknow type constant pool -96 at position224
Grave:   Unknow type constant pool 32 at position225
Grave:   Unknow type constant pool 112 at position226
Grave:   Unknow type constant pool 114 at position227
Grave:   Unknow type constant pool 111 at position228
Grave:   Unknow type constant pool 116 at position229
Grave:   Unknow type constant pool 101 at position230
Grave:   Unknow type constant pool 116 at position231
Grave:   Unknow type constant pool 116 at position232
Grave:   Unknow type constant pool 111 at position233
Grave:   Unknow type constant pool 32 at position234
Grave:   Unknow type constant pool 100 at position235
Grave:   Unknow type constant pool 97 at position236
Grave:   Unknow type constant pool 32 at position237
Grave:   Unknow type constant pool 97 at position238
Grave:   Unknow type constant pool 99 at position239
Grave:   Unknow type constant pool 113 at position240
Grave:   Unknow type constant pool 117 at position241
Grave:   Unknow type constant pool 97 at position242
Grave:   Unknow type constant pool 44 at position243
Grave:   Unknow type constant pool 32 at position244
Grave:   Unknow type constant pool 112 at position245
Grave:   Unknow type constant pool 105 at position246
Grave:   Unknow type constant pool 111 at position247
Grave:   Unknow type constant pool 103 at position248
Grave:   Unknow type constant pool 103 at position249
Grave:   Unknow type constant pool 105 at position250
Grave:   Unknow type constant pool 97 at position251
Grave:   Unknow type constant pool 44 at position252
Grave:   Unknow type constant pool 32 at position253
Grave:   Unknow type constant pool 112 at position254
Grave:   Unknow type constant pool 111 at position255
Grave:   Unknow type constant pool 108 at position256
Grave:   Unknow type constant pool 118 at position257
Grave:   Unknow type constant pool 101 at position258
Grave:   Unknow type constant pool 114 at position259
Grave:   Unknow type constant pool 101 at position260
Grave:   Unknow type constant pool 32 at position261
Grave:   Unknow type constant pool 101 at position262
Grave:   Unknow type constant pool 32 at position263
Grave:   Unknow type constant pool 115 at position264
Grave:   Unknow type constant pool 97 at position265
Grave:   Unknow type constant pool 98 at position266
Grave:   Unknow type constant pool 98 at position267
Grave:   Unknow type constant pool 105 at position268
Grave:   Unknow type constant pool 97 at position269
Grave:   Unknow type constant pool 44 at position270
Grave:   Unknow type constant pool 32 at position271
Grave:   Unknow type constant pool 103 at position272
Grave:   Unknow type constant pool 114 at position273
Grave:   Unknow type constant pool 97 at position274
Grave:   Unknow type constant pool 122 at position275
Grave:   Unknow type constant pool 105 at position276
Grave:   Unknow type constant pool 101 at position277
Grave:   Unknow type constant pool 32 at position278
Grave:   Unknow type constant pool 97 at position279
Grave:   Unknow type constant pool 108 at position280
Grave:   Unknow type constant pool 108 at position281
Grave:   Unknow type constant pool 97 at position282
Grave:   Unknow type constant pool 32 at position283
Grave:   Unknow type constant pool 99 at position284
Grave:   Unknow type constant pool 101 at position285
Grave:   Unknow type constant pool 114 at position286
Grave:   Unknow type constant pool 116 at position287
Grave:   Unknow type constant pool 105 at position288
Grave:   Unknow type constant pool 102 at position289
Grave:   Unknow type constant pool 105 at position290
Grave:   Unknow type constant pool 99 at position291
Grave:   Unknow type constant pool 97 at position292
Grave:   Unknow type constant pool 122 at position293
Grave:   Unknow type constant pool 105 at position294
Grave:   Unknow type constant pool 111 at position295
Grave:   Unknow type constant pool 110 at position296
Grave:   Unknow type constant pool 101 at position297
Grave:   Unknow type constant pool 32 at position298
Grave:   Unknow type constant pool 73 at position299
Grave:   Unknow type constant pool 80 at position300
Grave:   Unknow type constant pool 54 at position301
Grave:   Unknow type constant pool 55 at position302
Grave:   Unknow type constant pool 46 at position303
Grave:   Unknow type constant pool 15 at position330
Grave:   Unknow type constant pool 118 at position333
Grave:   Unknow type constant pool 16 at position334
Grave:   Exception while deploying the app [AsteRibasso]
Grave:   Exception during lifecycle processing
java.nio.BufferUnderflowException
    at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:151)
    at com.sun.enterprise.deployment.annotation.introspection.ConstantPoolInfo.containsAnnotation(ConstantPoolInfo.java:86)
    at com.sun.enterprise.deployment.annotation.introspection.ClassFile.containsAnnotation(ClassFile.java:133)
    at com.sun.enterprise.deployment.annotation.introspection.ClassFile.containsAnnotation(ClassFile.java:87)
    at com.sun.enterprise.deployment.util.AnnotationDetector.containsAnnotation(AnnotationDetector.java:157)
    at com.sun.enterprise.deployment.util.AnnotationDetector.containsAnnotation(AnnotationDetector.java:146)
    at com.sun.enterprise.deployment.util.AnnotationDetector.hasAnnotationInArchive(AnnotationDetector.java:137)
    at com.sun.enterprise.deployment.archivist.ApplicationArchivist.getApplicationFromIntrospection(ApplicationArchivist.java:393)
    at com.sun.enterprise.deployment.archivist.ApplicationArchivist.createApplication(ApplicationArchivist.java:264)
    at org.glassfish.javaee.full.deployment.EarHandler.getApplicationHolder(EarHandler.java:578)
    at org.glassfish.javaee.full.deployment.EarHandler.initCompositeMetaData(EarHandler.java:555)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.getSniffers(ApplicationLifecycle.java:655)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:358)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:219)
    at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:491)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:539)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:535)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:360)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$2.execute(CommandRunnerImpl.java:534)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:565)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:557)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:360)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:556)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1464)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1300(CommandRunnerImpl.java:109)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1846)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1722)
    at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:534)
    at com.sun.enterprise.v3.admin.AdminAdapter.onMissingResource(AdminAdapter.java:224)
    at org.glassfish.grizzly.http.server.StaticHttpHandlerBase.service(StaticHttpHandlerBase.java:189)
    at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
    at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201)
    at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175)
    at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561)
    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545)
    at java.lang.Thread.run(Thread.java:745)

Grave:   Exception while deploying the app [AsteRibasso]

在 Internet 上找不到有关与 GlassFish 4.1(内部版本 13)和 jre1.8.0_31(我在 NetBeans 8.0.2 中使用)相关的此问题的任何信息.有人可以帮我吗?

Can't find anything on the internet about this problem in relation with GlassFish 4.1 (build 13) and jre1.8.0_31, which I'm using in NetBeans 8.0.2. Can someone help me?

推荐答案

我遇到了同样的问题.

我将问题跟踪到了 jar glassfish/modules/dol.jar (来源).这个 jar 中的 com.sun.enterprise.deployment.annotation.introspection.ConstantPoolInfo 类负责在部署时测试相关注释上的类.

I tracked the problem to the jar glassfish/modules/dol.jar (sources). The class com.sun.enterprise.deployment.annotation.introspection.ConstantPoolInfo within this jar is responsible for testing classes on relevant annotations while deployment.

问题:

该类通过逐字节读取和解释 .class 文件的特殊部分来完成此操作:常量池 (JVM 规范).该池包含诸如各种数字、字符串、标识符名称、对类和方法的引用以及类型描述符之类的值"(维基).这包括注释的类名.
问题是,常量池的可能内容随着 Java 7 增加,并且添加了一些额外的条目类型以支持 JVM 的脚本语言.ConstantPoolInfo 尚不支持这些条目(方法句柄、方法类型和 InvokeDynamic(ID 15、16 和 18)).在读取和检查这些常量池条目之一的类型标识符字节时,该类只记录警告在位置 i 处未知 [原文如此] 类型常量池 x"并继续处理下一个字节,缺少跳过属于当前类型的数据结构(无论如何它们都不相关).这会导致完全混乱,因为应该跳过的下一个字节被解释为类型标识符.
在某些情况下,错误解释的字节会导致执行UTF 8/ASCII"条目的代码,并将接下来的两个字节解释为常量池中字符串的长度,然后想要读取该字符串.这就是 BufferUnderflowException 的来源:包含常量池数据的输入源可能无法按要求保存尽可能多的字节.

The class does this by byte-wise reading and interpreting a special part of the .class files: the constant pool (JVM spec). The pool contains "values such as numbers of all sorts, strings, identifier names, references to classes and methods, and type descriptors" (Wiki). This includes the class names of annotations.
The problem is, that the possible content of the constant pool increased with Java 7 and some additional entry types were added to support script languages with the JVM. Those entries (Method handle, Method type and InvokeDynamic (ids 15, 16 and 18)) are not supported by ConstantPoolInfo yet. When reading and checking the type identifier byte of one of those constant pool entries, the class simply logs the warning "Unknow [sic] type constant pool x at position i" and proceeds processing with the next byte, missing to skip bytes belonging to the current type's data structure (they are not relevant anyway). This leads to a complete mess up, as the next byte which should have been skipped is interpreted as type identifier.
In some situations, the wrongly interpreted byte leads to the execution of the code for the "UTF 8/ASCII"-entry case, with interprets the next two bytes as the length of a String in the constant pool and then wants to read that String. And this is where the BufferUnderflowException comes from: The input source containing the constant pool's data may not hold as may bytes as requested.

何时何地:

使用 Java 7 代码时没有问题,因为通常的开发人员/编译器不会生成需要额外常量池条目类型的字节代码.
Java 8 改变了这一点:Lambdas 和methdod 引用使用了它.

There was no problem with this when using Java 7 code, as the usual developer/compiler did not produce byte code which needed the additional constant pool entry types.
With Java 8 this changed: Lambdas and methdod references make use of it.

出于某种原因,我没有检查,战争模块中的 lambda 不会出现问题,而只会出现在 ejb 模块中.可能类文件的内省没有在那里完成 - 至少不是基于 ConstantPoolInfo.

For some reason I did not examine, the problem does not happen with lambdas in war-modules but only with ejb-modules. Probably, the introspection of the class files is not done there - at least not based on ConstantPoolInfo.

解决方案:

我打开了一个错误报告:https://java.net/jira/browse/GLASSFISH-21510.

I opened a bug report: https://java.net/jira/browse/GLASSFISH-21510.

除了避免在 ejb 模块中使用 lambdas/方法引用(或任何编译为 invokedynamic 字节码的东西)之外,我没有其他解决方案.

I don't have a solution other than to refrain from using lambdas/method references (or anything that compiles to invokedynamic bytecode) in ejb modules.

重构代码直到它只产生警告并且没有异常可能会有所帮助,但我认为它不是一个干净的解决方案.它可能会因任何代码更改或 jdk 更新而再次中断.除此之外,类的检查还是有问题的,可能会导致其他问题.

Refactoring the code until it only produces warnings and no exception may help but I don't consider it a clean solution. It may break again with any code change or jdk update. Apart from that, the inspection of the class is still broken and may cause other problems.

[TL;DR]
从 ejb 项目中删除 lambdas/方法引用.
[/TL;DR]

这篇关于JavaEE + Glassfish - BufferUnderflowException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆