如何修复 - org.springframework.web.util.NestedServletException 异常
How to fix - org.springframework.web.util.NestedServletException exception
我有 jhipster 应用程序,mongodb.I 能够成功构建产品版本。当我 运行 prod 在 windows 中构建 war 文件时(与我的开发机器相同)它工作正常。当我将 war 部署到 linux 并尝试访问特定的 link 时出现以下异常
org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.IncompatibleClassChangeError: Expected static field jdk.nashorn.internal.objects.Global.undefined
com.mastercard.rsc.web.rest.ResultssummaryResource.getAllResultssummariesByBuild(ResultssummaryResource.java:121)
下面是上述异常指向的代码。我想做的是,如果构建版本不为空,如果未提供构建版本,则按构建版本获取记录过滤器,然后获取所有记录。在我的请求中,构建版本不为空,我正在传递值 CurlVersion 并且匹配的记录在数据库中。
public ResponseEntity<List<ResultssummaryDTO>> getAllResultssummariesByBuild(Pageable pageable,@RequestParam(value = "buildversion", required = false) String buildversion) {
log.debug("REST request to get a page of Resultssummaries by Build Version");
System.out.println(buildversion);
if (buildversion != undefined) {
Page<ResultssummaryDTO> page = resultssummaryService.findByBuildversion(pageable, buildversion);
HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(page, "/api/resultssummaries");
return new ResponseEntity<>(page.getContent(), headers, HttpStatus.OK);
}
else {
log.debug("REST request to get a page of Resultssummaries");
Page<ResultssummaryDTO> page = resultssummaryService.findAll(pageable);
HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(page, "/api/resultssummaries");
return new ResponseEntity<>(page.getContent(), headers, HttpStatus.OK);
}
}
我认为问题可能出在我检查构建版本的方式上,
if (buildversion != undefined)
但是为什么它在 windows(相同的产品构建 war)中起作用。当我调试时它也工作正常。不确定为什么当我在 linux 中 运行 时会出现问题。
不知道尝试什么选项完全空白。
你能帮忙解决这个问题吗?
您在 java 后端使用 java 脚本(使用 Nashorn)中的 undefined
值,尝试将 buildversion
与 null
进行比较并删除nashorn 导入。
我有 jhipster 应用程序,mongodb.I 能够成功构建产品版本。当我 运行 prod 在 windows 中构建 war 文件时(与我的开发机器相同)它工作正常。当我将 war 部署到 linux 并尝试访问特定的 link 时出现以下异常
org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.IncompatibleClassChangeError: Expected static field jdk.nashorn.internal.objects.Global.undefined
com.mastercard.rsc.web.rest.ResultssummaryResource.getAllResultssummariesByBuild(ResultssummaryResource.java:121)
下面是上述异常指向的代码。我想做的是,如果构建版本不为空,如果未提供构建版本,则按构建版本获取记录过滤器,然后获取所有记录。在我的请求中,构建版本不为空,我正在传递值 CurlVersion 并且匹配的记录在数据库中。
public ResponseEntity<List<ResultssummaryDTO>> getAllResultssummariesByBuild(Pageable pageable,@RequestParam(value = "buildversion", required = false) String buildversion) {
log.debug("REST request to get a page of Resultssummaries by Build Version");
System.out.println(buildversion);
if (buildversion != undefined) {
Page<ResultssummaryDTO> page = resultssummaryService.findByBuildversion(pageable, buildversion);
HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(page, "/api/resultssummaries");
return new ResponseEntity<>(page.getContent(), headers, HttpStatus.OK);
}
else {
log.debug("REST request to get a page of Resultssummaries");
Page<ResultssummaryDTO> page = resultssummaryService.findAll(pageable);
HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(page, "/api/resultssummaries");
return new ResponseEntity<>(page.getContent(), headers, HttpStatus.OK);
}
}
我认为问题可能出在我检查构建版本的方式上,
if (buildversion != undefined)
但是为什么它在 windows(相同的产品构建 war)中起作用。当我调试时它也工作正常。不确定为什么当我在 linux 中 运行 时会出现问题。 不知道尝试什么选项完全空白。 你能帮忙解决这个问题吗?
您在 java 后端使用 java 脚本(使用 Nashorn)中的 undefined
值,尝试将 buildversion
与 null
进行比较并删除nashorn 导入。