Visualizzazione dei risultati da 1 a 10 su 16

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    24
    se eseguo da teminale ubuntu mi solleva questa eccezione
    codice:
    gcavina@gcavina-HP-G62-Notebook-PC:~/Scrivania$ java -jar ProgettoJava.jar 
    
    
    Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: com/itextpdf/text/DocumentException
    	at Archivio.PanelCD$PulsanteSalva.actionPerformed(PanelCD.java:233)
    	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
    	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
    	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
    	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
    	at java.awt.Component.processMouseEvent(Component.java:6505)
    	at javax.swing.JComponent.processMouseEvent(JComponent.java:3320)
    	at java.awt.Component.processEvent(Component.java:6270)
    	at java.awt.Container.processEvent(Container.java:2229)
    	at java.awt.Component.dispatchEventImpl(Component.java:4861)
    	at java.awt.Container.dispatchEventImpl(Container.java:2287)
    	at java.awt.Component.dispatchEvent(Component.java:4687)
    	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
    	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
    	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
    	at java.awt.Container.dispatchEventImpl(Container.java:2273)
    	at java.awt.Window.dispatchEventImpl(Window.java:2719)
    	at java.awt.Component.dispatchEvent(Component.java:4687)
    	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
    	at java.awt.EventQueue.access$200(EventQueue.java:103)
    	at java.awt.EventQueue$3.run(EventQueue.java:694)
    	at java.awt.EventQueue$3.run(EventQueue.java:692)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
    	at java.awt.EventQueue$4.run(EventQueue.java:708)
    	at java.awt.EventQueue$4.run(EventQueue.java:706)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    	at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
    	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    	at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
    Caused by: java.lang.ClassNotFoundException: com.itextpdf.text.DocumentException
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    	... 38 more
    qualche suggerimento (Sono un neofita tutta quella roba mi ha spaventato)?? grazie comunque per l'aiuto

    PS quindi devo aggiungere tipo
    finally{
    output.close();
    }

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da kekkuz87 Visualizza il messaggio
    se eseguo da teminale ubuntu mi solleva questa eccezione
    codice:
    gcavina@gcavina-HP-G62-Notebook-PC:~/Scrivania$ java -jar ProgettoJava.jar 
    
    Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: com/itextpdf/text/DocumentException
    Vuol dire che la libreria iText non è "in classpath". Siccome la applicazione la avvii facendo partire direttamente il jar, allora vuol dire che dentro il tuo jar, nel "manifest" ci deve essere l'attributo Class-Path che contiene un URL relativo al jar di iText, che ovviamente deve "viaggiare" insieme alla tua applicazione.


    Quote Originariamente inviata da kekkuz87 Visualizza il messaggio
    PS quindi devo aggiungere tipo
    finally{
    output.close();
    }
    Sì ma occhio ... close a sua volta può lanciare IOException.
    E in realtà, il fatto che hai gestito tutta la lettura nel costruttore non è comunque una bella cosa.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    24
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Vuol dire che la libreria iText non è "in classpath". Siccome la applicazione la avvii facendo partire direttamente il jar, allora vuol dire che dentro il tuo jar, nel "manifest" ci deve essere l'attributo Class-Path che contiene un URL relativo al jar di iText, che ovviamente deve "viaggiare" insieme alla tua applicazione.
    Perdonami ma riesci spiegarmi + o - come aggiungere questo attributo Class-Path....scusami sono proprio ancora poco capace con java

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da kekkuz87 Visualizza il messaggio
    Perdonami ma riesci spiegarmi + o - come aggiungere questo attributo Class-Path....scusami sono proprio ancora poco capace con java
    Nel manifest dovrai avere una riga del tipo:

    Class-Path: libs/itextpdf-X.Y.Z.jar

    Ovviamente puoi rinominare il jar togliendo la versione (sconsigliato comunque) o cambiare il path.

    Se usi libs/ vuol solo poi dire che nella (qualunque) directory dove hai ProgettoJava.jar, dovrai avere questa libs con dentro il jar.

    Ah, so che di iText quello non è l'unico jar, ce n'è uno per il "pdfa" e uno di "xtra", verifica se ti servono oppure no. Più path nell'attributo Class-Path vanno separati semplicemente con spazio (e occhio alla limitazione "pignola" dei 72 caratteri per riga).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    24
    ciao so chi odierai ma quando ho aperto il manifest dentro ho visto che c'erano già degli attributi classPath e mi sembrano ci siano quelli che tu mi suggerisci di aggiungere...mi sbaglio??
    codice:
    Manifest-Version: 1.0
    Ant-Version: Apache Ant 1.8.4
    Created-By: 1.7.0_45-b18 (Oracle Corporation)
    Class-Path: lib/itext-pdfa-5.4.4-javadoc.jar lib/itext-pdfa-5.4.4-sour
     ces.jar lib/itext-pdfa-5.4.4.jar lib/itext-xtra-5.4.4-javadoc.jar lib
     /itext-xtra-5.4.4-sources.jar lib/itext-xtra-5.4.4.jar lib/itextpdf-5
     .4.4-javadoc.jar lib/itextpdf-5.4.4-sources.jar lib/itextpdf-5.4.4.ja
     r
    X-COMMENT: Main-Class will be added automatically by build
    Main-Class: Archivio.ArchivioMain
    ti prego non mi odiare

    non ti ho detto che tutto il lavoro lo svolto con netBeans e che quando creo il jar nella cartella dist che mi crea con all interno il jar mi crea anche una cartella lib con dentro tutti i jar che poi sono elencati nel manifest non so se ti serva ma te lo dico lo stesso
    Ultima modifica di kekkuz87; 02-01-2014 a 17:23

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da kekkuz87 Visualizza il messaggio
    ciao so chi odierai ma quando ho aperto il manifest dentro ho visto che c'erano già degli attributi classPath e mi sembrano ci siano quelli che tu mi suggerisci di aggiungere...mi sbaglio??
    codice:
    Manifest-Version: 1.0
    Ant-Version: Apache Ant 1.8.4
    Created-By: 1.7.0_45-b18 (Oracle Corporation)
    Class-Path: lib/itext-pdfa-5.4.4-javadoc.jar lib/itext-pdfa-5.4.4-sour
     ces.jar lib/itext-pdfa-5.4.4.jar lib/itext-xtra-5.4.4-javadoc.jar lib
     /itext-xtra-5.4.4-sources.jar lib/itext-xtra-5.4.4.jar lib/itextpdf-5
     .4.4-javadoc.jar lib/itextpdf-5.4.4-sources.jar lib/itextpdf-5.4.4.ja
     r
    X-COMMENT: Main-Class will be added automatically by build
    Main-Class: Archivio.ArchivioMain
    Innanzitutto i jar dei javadoc/sources sono totalmente inutili ai fini di far girare l'applicazione. Quindi non servono.

    Quote Originariamente inviata da kekkuz87 Visualizza il messaggio
    non ti ho detto che tutto il lavoro lo svolto con netBeans e che quando creo il jar nella cartella dist che mi crea con all interno il jar mi crea anche una cartella lib con dentro tutti i jar che poi sono elencati nel manifest non so se ti serva ma te lo dico lo stesso
    Supponendo che nel Class-Path ci siano solo i jar davvero necessari, il contenuto della dist è quello che dovrai "portare in giro" ogni volta, così come è, con quella struttura.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    24
    ok quindi semplicemente non posso usare solo il file jar ma devo "portare in giro" tutta la cartella dist...ok e ma non esisterebbe un modo per poter portare in giro solo il file jar??

    PS se è troppo complicato mi accontento di questo
    PPS ma il "problema" si pone ogni volta che utilizzerò una libreria esterna
    Ultima modifica di kekkuz87; 02-01-2014 a 17:37

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 © 2026 vBulletin Solutions, Inc. All rights reserved.