java - Play 框架中的内部服务器错误

标签 java playframework playframework-2.2

我想在 Play 框架中渲染一个简单的页面 该页面位于 localhost:9000/upload

但是当我尝试加载此页面时,我得到了这个奇怪的堆栈跟踪。错误不是编译也不是运行时。这是一些堆栈跟踪行。 ---(从 SBT 运行应用程序,启用自动重新加载)---

  [info] play - Listening for HTTP on /0.0.0.0:9000

  (Server started, use Ctrl+D to stop and go back to the console...)

  [info] play - database [default] connected at jdbc:mysql://192.168.2.250:3306/DP
  AU
  [info] play - Application started (Dev)
  [error] application -

  ! Internal server error, for (GET) [/indicatorupload] ->

  java.lang.VerifyError: Stack map does not match the one at exception handler 563

  Exception Details:
  Location:
  controllers/IndicatorUploadController.updateIndicatorTable(Lcontrollers/Indi
  catorUploadController$ExcelInd;I)V @563: astore_3
  Reason:
  Type 'controllers/IndicatorUploadController$ExcelInd' (current frame, locals
  [5]) is not assignable to 'models/Indicators' (stack map, locals[5])
  Current Frame:
  bci: @463
  flags: { }
  locals: { 'controllers/IndicatorUploadController$ExcelInd', integer, 'models
  /Indicators', top, top, 'controllers/IndicatorUploadController$ExcelInd', 'java/
  lang/String' }
  stack: { 'java/lang/NumberFormatException' }
  Stackmap Frame:
  bci: @563
  flags: { }
  locals: { 'controllers/IndicatorUploadController$ExcelInd', integer, 'models
  /Indicators', top, top, 'models/Indicators', 'java/lang/Object' }
   stack: { 'java/lang/NumberFormatException' }
  Bytecode:
  0000000: bb00 8e59 b700 8f4d b800 9057 2c1b 85b8
  0000010: 0091 3a06 3a05 1905 1906 b602 d92c 2a3a
  0000020: 0501 3a06 1905 b602 b23a 0619 063a 063a
  0000030: 0519 0519 06b6 02dc 2c2a 3a05 013a 0619
  0000040: 05b6 02b8 3a06 1906 3a06 3a05 1905 1906
  0000050: b602 df2c 2a3a 0501 3a06 1905 b602 be3a
  0000060: 0619 063a 063a 0519 0519 06b6 02e2 2c2a
  0000070: 3a05 013a 0619 05b6 02c7 3a06 1906 3a06
  0000080: 3a05 1905 1906 b602 e52c 2a3a 0501 3a06
  0000090: 1905 b602 e83a 0619 063a 063a 0519 0519
  00000a0: 06b6 02eb 2c2a 3a05 013a 0619 05b6 02ee
  00000b0: 3a06 1906 3a06 3a05 1905 1906 b602 f12c
  00000c0: 2a3a 0501 3a06 1905 b602 c13a 0619 063a
  00000d0: 063a 0519 0519 06b6 02f4 2c2a 3a05 013a
  00000e0: 0619 05b6 02c4 3a06 1906 3a06 3a05 1905
  00000f0: 1906 b602 f72c 2a3a 0501 3a06 1905 b602

我尝试在我的项目目录中设置 _JAVA_OPTION = -XX:-UseSplitVerifier 然后尝试运行。 cmd 行应该显示 "Picked up _JAVA_OPTIONS: -XX:-UseSplitVerifier" 但我也没有得到。 (我很困惑是 JAVA_OPTION 还是 _JAVA_OPTION)。我什至在环境变量中设置了相同的 JAVA_OPTION

最佳答案

错误是由 javaassist 上的错误引起的。新版本 3.18.2 已解决。添加到project/plugins.sbt如下

libraryDependencies += "org.javassist" % "javassist" % "3.18.2-GA"

有关该问题的更多信息 here

关于java - Play 框架中的内部服务器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22979146/

相关文章:

mongodb - 如何: $merge and On-Demand-Materialized views

javascript - Playframework:将值传递给 javascript 的优雅方式

java - 如何在 playframework 2 中构建模块

java - Play Framework 2 (Java) 中的单元测试未回滚测试之间的更改

scala - Play Framework 2.2.x 多路由文件

java - 由于使用 java8 lambdas 时出现无效类型异常,Flink 无法运行我的应用程序

javascript - 一次显示一个元素

java - 将 GET 参数添加到 Play Framework 2.2 响应

java - 如何遍历复杂的 JSON 并将其放入 Map 中?

java 。打印 PDF。