繁体   English   中英

java.lang.NoSuchMethodError: org.apache.poi.util.POILogger.log(I[Ljava/lang/Object;)V

[英]java.lang.NoSuchMethodError: org.apache.poi.util.POILogger.log(I[Ljava/lang/Object;)V

使用 apache poi 依赖项时出现以下错误。

org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: org.apache.poi.util.POILogger.log(I[Ljava/lang/Object;)V
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:982)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:634)

java.lang.NoSuchMethodError: org.apache.poi.util.POILogger.log(I[Ljava/lang/Object;)V
    org.apache.poi.openxml4j.opc.ZipPackage.saveImpl(ZipPackage.java:538)
    org.apache.poi.openxml4j.opc.OPCPackage.save(OPCPackage.java:1539)
    org.apache.poi.POIXMLDocument.write(POIXMLDocument.java:227)
    com.bonrix.common.test.Excel.sajan(Excel.java:62)


         <dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi</artifactId>
      <version>3.15</version>
    </dependency>

    <dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi-ooxml</artifactId>
      <version>3.15</version>
    </dependency>

  </dependencies> 

XSSFWorkbook 工作簿 = new XSSFWorkbook();

    // Create a blank sheet 
    XSSFSheet sheet = workbook.createSheet("student Details"); 

    // This data needs to be written (Object[]) 
    Map<String, Object[]> data = new TreeMap<String, Object[]>(); 
    data.put("1", new Object[]{ "ID", "NAME", "LASTNAME" }); 
    data.put("2", new Object[]{ 1, "Pankaj", "Kumar" }); 
    data.put("3", new Object[]{ 2, "Prakashni", "Yadav" }); 
    data.put("4", new Object[]{ 3, "Ayan", "Mondal" }); 
    data.put("5", new Object[]{ 4, "Virat", "kohli" }); 

    // Iterate over data and write to sheet 
    Set<String> keyset = data.keySet(); 
    int rownum = 0; 
    for (String key : keyset) { 
        // this creates a new row in the sheet 
        Row row = sheet.createRow(rownum++); 
        Object[] objArr = data.get(key); 
        int cellnum = 0; 
        for (Object obj : objArr) { 
            // this line creates a cell in the next column of that row 
            Cell cell = row.createCell(cellnum++); 
            if (obj instanceof String) 
                cell.setCellValue((String)obj); 
            else if (obj instanceof Integer) 
                cell.setCellValue((Integer)obj); 
        } 
    } 
    try { 
        // this Writes the workbook gfgcontribute 
        FileOutputStream out = new FileOutputStream(new File("D://gfgcontribute.xlsx")); 
        workbook.write(out); 
        out.close(); 
        System.out.println("gfgcontribute.xlsx written successfully on disk."); 
    } 
    catch (Exception e) { 
        e.printStackTrace(); 
    } 

作为 java 应用程序运行时工作正常,但在 web 应用程序 Spring Z9BBF3737927BF7CF7BA62C800 中显示错误。 我尝试了不同版本的 poi。 但它仍然显示错误。 我认为它与添加到我的 porm.xml 文件中的其他 java 冲突。 我正在为我的项目使用 java spring。 我还从解决方案中提到了 https://stackoverflow.com/ ,但任何解决方案都不适合我。 在其他项目中,我使用了 apache poi 3.5,它对我来说工作正常,但在这种情况下它不起作用,有没有解决这个问题的方法? 我能知道我使用的代码或依赖项有什么问题吗? 我尽力了,但我没有解决这个错误。

Maven downloads all dependencies to a folder.m2/repository in the user's home directory (ie C:\users[your user name].m2\repository on Windows. When you delete this folder, Maven creates the folder and downloads the dependencies for the从那时起您正在构建的项目。采用在 pom.xml 中运行您的应用程序的正确版本

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM