当前位置: 首页 > 知识库问答 >
问题:

如何修复java。lang.ClassCastException:。审查在加载器“应用”的未命名模块中

商飞尘
2023-03-14

我对一个特殊的班级助手做了一些改变。java,任何时候我尝试将其转换为一个特定的endpoint,我都会收到这个错误消息。堆栈跟踪指向Helpers类。

JAVAClassCastException:class com。聪明的制动辅助系统。模型事务不能强制转换到com类。聪明的制动辅助系统。模型查看(com.cleer.bas.model.Transaction和com.cleer.bas.model.Review位于加载器“app”的未命名模块中)

这是助手类的样子

public static InputStream writeToExcel(CompletableFuture<ArrayList<Review>> data) throws Exception {

        //Blank workbook
        try (XSSFWorkbook workbook = new XSSFWorkbook()) {

            //Create a blank sheet
            XSSFSheet sheet = workbook.createSheet("transaction report");
            AtomicInteger rowNum = new AtomicInteger(1);
            AtomicBoolean isHeaderSet = new AtomicBoolean(false);
            data.get().forEach(review -> {
                if (!isHeaderSet.get()){
                    createHeader(review, sheet);
                    isHeaderSet.set(true);
                }
                XSSFRow row = sheet.createRow(rowNum.getAndIncrement());
                ObjectMapper mapObject = new ObjectMapper();
                Map<String, Object> mapObj = mapObject.convertValue(review, Map.class);
                AtomicInteger cellNum = new AtomicInteger();
                mapObj.forEach((key, value) -> {
                    XSSFCell cell = row.createCell(cellNum.getAndIncrement());
                    cell.setCellValue(key);
                    if (value instanceof Integer)
                        cell.setCellValue((Integer) value);
                    else if (value instanceof BigDecimal)
                        cell.setCellValue(((BigDecimal) value).doubleValue());
                    else if (value instanceof Long)
                        cell.setCellValue((Long) value);
                    else if (value instanceof Boolean)
                        cell.setCellValue((Boolean) value);
                    else cell.setCellValue((String) value);

                });
            });
            try {
                //Write the workbook in file system
                ByteArrayOutputStream bos = new ByteArrayOutputStream();
                workbook.write(bos);
                byte[] barray = bos.toByteArray();
                InputStream is = new ByteArrayInputStream(barray);
//                InputStream is = new FileInputStream("transaction.xlsx");
//                workbook.write(is);
                System.out.println("transaction.xlsx written successfully on disk.");
                return is;
//                out.close();
            } catch (Exception e) {
                e.printStackTrace();
                throw new Exception(e.getMessage());
            }
        } catch (IOException e) {
            e.printStackTrace();
            throw new Exception(e.getMessage());

        }
    }
private static void createHeader(Review review, XSSFSheet sheet) {
        XSSFRow row = sheet.createRow(0);
        ObjectMapper mapObject = new ObjectMapper();
        Map<String, Object> mapObj = mapObject.convertValue(review, Map.class);
        AtomicInteger cellNum = new AtomicInteger();
        mapObj.forEach((key, value) -> {
            XSSFCell cell = row.createCell(cellNum.getAndIncrement());
            cell.setCellValue(key);
        });
    }

我想不出我返回的是哪种类型的交易,而不是回顾。这里是我在服务中调用helper类的地方。

 public InputStream downloadReviewReport(UriInfo uriInfo) throws Exception {
        MultivaluedMap<String, String> queryParams = uriInfo.getQueryParameters();
        String userID = queryParams.getFirst("userID");
        CompletableFuture<ArrayList<Review>> reviews = reviewRepository.fetchUserDetailsBatches(filterTransaction(queryParams, userID));
        return Helpers.writeToExcel(reviews);
    }

共有1个答案

慕阳文
2023-03-14

在我的数据库配置中,我一直在调用另一个类。将其更改为适当的类类型解决了问题

 类似资料:
  • 我是OSGi概念的新手,对于下面的错误,我非常感谢您的帮助。 当运行独立应用程序时没有问题,但是当同一个应用程序放在OSGI包中时,我们得到以下错误。 原因异常java.lang.运行时异常:无法实例化解析器org.apache.xerces.parsers.SAXParser:java.lang.类org.apache.xerces.parsers.SAXParser无法转换为类org.xml.

  • 出身背景 我在android studio开始了我的第一个项目,以熟悉android编程 我正在学习本教程,其中 我创建了一个新项目空活动,没有任何变化 它应该模拟一个显示“Hello World”消息的简单应用程序 问题描述但每次我尝试运行和构建(我现在想使用emulator)时,都会收到以下错误消息。 这是我的配置设置: Android Gradle插件版本:4.2.1 Andrey Dern

  • 我使用Wildfly 17,有两个无状态EJB,其中一个在JNDI查找时有时(但不总是)会导致问题。这是我的EJB: 当我部署我的应用程序时,我看到上面服务的以下日志: 我有一个ServiceLocator类,它是一个单例使用以下JNDI名称查找上述服务的存根: 现在,当我使用服务定位器获取服务存根时,我有时会得到下面的异常。但只是有时: 我在同一个war.模块中使用我的服务,在其中声明(相同的网

  • 我想执行GET请求: 当我试图捕获我的HTTPResponse

  • 问题内容: 我知道这个问题已经被问过多次了。我已经阅读了所有内容,但无法解决问题。以下是我的目录结构。 在main.py中,我将导入以下内容。 当我在Windows中执行代码时,它工作得很好。但是在Linux中,出现以下错误。 我还阅读了有关模块和包的官方python文档。 问题答案: 您的包裹结构还可以。您的导入声明很好。唯一缺少的是该软件包在中是可见的,该位置是可以解析import语句的位置列

  • 我目前在Java中面临泛型的问题。我需要返回一个父实例。 下面的示例显示了我正在努力实现的目标。 此代码不会运行,而是生成以下异常: 班级通讯。仿制药。GenericTest$Parent不能强制转换为com类。仿制药。GenericTest$ChildEntity(com.generics.GenericTest$Parent和com.generics.GenericTest$ChildEnti