Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Exception in thread "main" java.lang.NoClassDefFoundError: org/dom4j/DocumentException

    Buongiorno a tutti,
    ho questo programma, ma quando lo eseguo mi da l'errore in oggetto

    codice:
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    import org.apache.poi.ss.usermodel.Cell;
    import org.apache.poi.ss.usermodel.Row;
    import org.apache.poi.xssf.usermodel.XSSFSheet;
    import org.apache.poi.xssf.usermodel.XSSFWorkbook;
    
    public class SimpleExcelWriterExample {
    
    
        public static void main(String[] args) throws IOException {
            XSSFWorkbook workbook = new XSSFWorkbook();
            XSSFSheet sheet = workbook.createSheet("Java Books");
    
            Object[][] bookData = {
                    {"Head First Java", "Kathy Serria", 79},
                    {"Effective Java", "Joshua Bloch", 36},
                    {"Clean Code", "Robert martin", 42},
                    {"Thinking in Java", "Bruce Eckel", 35},
            };
    int rowCount = 0;
    
    for (Object[] aBook : bookData) {
                Row row = sheet.createRow(++rowCount);
    
                int columnCount = 0;
    
                for (Object field : aBook) {
                    Cell cell = row.createCell(++columnCount);
                    if (field instanceof String) {
                        cell.setCellValue((String) field);
                    } else if (field instanceof Integer) {
                        cell.setCellValue((Integer) field);
                    }
                }
    }
    
            try (FileOutputStream outputStream = new FileOutputStream("JavaBooks.xlsx")) {
                workbook.write(outputStream);
            }
        }
    }

    ho aggiunto la libreria che mi chiede tra le librerie, appunto. Il risultato non cambia. Sapete aiutarmi? Cosa posso fare?
    Ultima modifica di LeleFT; 02-08-2016 a 15:14 Motivo: Aggiunti i tag CODE

  2. #2
    Ti invito a scrivere il codice tra i tag code per renderlo leggibile in questo modo
    [code]
    your code here
    [/code]


    Sicuramente non hai caricato tutte le librerie perché a me funziona senza alcun problema
    Ultima modifica di schumy2000; 02-08-2016 a 14:53
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Quote Originariamente inviata da Alessandro9 Visualizza il messaggio
    ho aggiunto la libreria che mi chiede tra le librerie, appunto. Il risultato non cambia. Sapete aiutarmi? Cosa posso fare?
    Dici "la libreria", ma guardando il tuo codice ed il messaggio di errore deduco che ne servano almeno 2 di librerie:

    1) Apache POI
    2) Dom4J (che è quella di cui si lamenta la JVM nel messaggio d'errore)

    Guardando tra la documentazione di Apache POI ci trovo scritto:

    The OOXML jars used to require DOM4J, but the code has now been changed to use JAXP and no additional dom4j jars are required.


    Ne deduco che tu stia utilizzando una "vecchia" versione di Apache POI che richiede, appunto, DOM4J per funzionare.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    @Alessandro9: il tuo sorgente funziona correttamente in un semplice progettino Maven che ha la sola dependency:

    codice:
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>3.14</version>
    </dependency>

    (3.14 è l'ultima stabile al momento)

    E i jar che Maven tira dentro nel progetto sono questi:

    poi-ooxml-3.14.jar
    poi-3.14.jar
    commons-codec-1.10.jar
    poi-ooxml-schemas-3.14.jar
    xmlbeans-2.6.0.jar
    stax-api-1.0.1.jar
    curvesapi-1.03.jar



    Quindi: se usi Maven, ti basta quella singola dependency. Se non usi Maven, ti basta scaricare "a mano" quei jar.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.