gpt4 book ai didi

java - 类加载器错误 - 加载器 org.springframework.boot.devtools.restart.classloader.RestartClassLoader 的未命名模块

转载 作者:行者123 更新时间:2023-11-30 12:03:28 24 4
gpt4 key购买 nike

作为一个整体,我对 Spring 和 Java 还很陌生,我目前正在研究 API。我有这段代码可以访问 MSSQL 数据库,检索结果并应该将其可视化,但它不起作用。我的意思是,如果我只调用过程并可视化结果集,它就会正常工作。问题是我无法使用“RatingProcedure”对象。当我尝试获取某个对象的值时,它显示以下错误:

Hibernate: {call dis_entity.spdcmpracovnici(?,?,?,?)} 2019-09-02 01:56:01.355 WARN 8720 --- [nio-8050-exec-3] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.ClassCastException: class [Ljava.lang.Object; cannot be cast to class com.pproi.dcm.ratingprocedure.RatingProcedure ([Ljava.lang.Object; is in module java.base of loader 'bootstrap'; >com.pproi.dcm.ratingprocedure.RatingProcedure is in unnamed module of loader >org.springframework.boot.devtools.restart.classloader.RestartClassLoader @7193df92)]

代码:

@GetMapping("/replacements/{sourceId}/workers")
public ResponseEntity<List<PossibleReplacementResponseModel>> getReplacements(@PathVariable Integer sourceId,
@RequestParam(required = false) Integer targetWorkerId,
@RequestParam(required = false) Integer targetLineId,
@RequestParam(required = false) String targetWorkplaces) {

List<PossibleReplacementResponseModel> response = new ArrayList<>();

// 400 Bad Request
if ((targetLineId != null && targetWorkerId != null) || (targetWorkplaces != null && targetLineId == null))
return ResponseEntity.badRequest().build();

StoredProcedureQuery ratingProcedure = entityManager.createNamedStoredProcedureQuery("dcmrating");

StoredProcedureQuery storedProcedure = ratingProcedure.setParameter("pk_target_worker", targetWorkerId)
.setParameter("pk_target_sdl", targetLineId).setParameter("pk_target_workplaces", targetWorkplaces)
.setParameter("pk_source_sdl", sourceId);

List<RatingProcedure> ratings = storedProcedure.getResultList();

for(RatingProcedure rating : ratings) {
PossibleReplacementResponseModel responseModel = new PossibleReplacementResponseModel();
Optional<Worker> _worker = workerRepository.findById(rating.getPersonalId());

if(_worker.isPresent()) {
Worker worker = _worker.get();
responseModel.setId(worker.getId());
responseModel.setName(worker.getFullName());
responseModel.setSkills(findWorkersSkills(worker));
responseModel.setPhysicalExamination(findWorkersMedicalExaminationEndDate(worker));
responseModel.setExams(findWorkersExams(worker));
responseModel.setRestrictions(findWorkersRestrictions(worker));
responseModel.setRating(rating.getRating());
}
response.add(responseModel);
}

return ResponseEntity.ok(response);
}

我什至可能知道解决方案!我可能应该自定义我的 Restart Classloader,如 here 中所示,但我的技能到此为止,我不知道应该在文件中指定什么。

有什么想法吗?

非常感谢。

最佳答案

一个简单的解决方法是 disable the Restart通过设置系统属性:

spring.devtools.restart.enabled = false

例如,当使用 spring-boot maven 插件时,以这种方式启动应用程序:

mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Dspring.devtools.restart.enabled=false"

关于java - 类加载器错误 - 加载器 org.springframework.boot.devtools.restart.classloader.RestartClassLoader 的未命名模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57750294/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com