Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 18 su 18
  1. #11
    Utente di HTML.it L'avatar di Kilin
    Registrato dal
    Mar 2003
    Messaggi
    453
    si!!!

  2. #12
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Ok, ultima prova:

    1) Prendi la cartella "dist" del progetto di NetBeans e copiala da qualche altra parte
    2) Dal prompt dei comandi, portati dentro la cartella "dist" appena copiata
    3) Dai il comando "java -jar NomeDelFile.jar" (dove, al posto di "NomeDelFile" ci metti, ovviamente, il nome del tuo file jar).


    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

  3. #13
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Originariamente inviato da Kilin
    si, la cartella "lib" c'è, la crea netbeans, e dentro c'è il jar che contiene la classe che da il primo errore all'avvio del mio .jar... lo so che serve la classe lib, non è che ho tirato via il mio jar ed ho provato ad eseguirlo a parte...! io compilo tutto da netbeans, che mi genera la cartella dist, e tutto il resto vado lì dentro e doppio clicco il jar, o faccio java -jar Nome.jar, ed ottengo quell'errore... non capisco, netbeans ci mette tutto quello che serve in quella cartella, il manifest sembra che venga generato ammodino, perchè non trova le classi?
    Facciamo il punto?

    Ora, non importa tanto quale sia la directory dove sta il tuo jar principale, non importa tanto chi ha creato la lib e nemmeno se e quanto di tutto questo sia correlato/contenuto nel "progetto" nell'IDE.

    Quando a runtime la applicazione "vive" per conto suo, conta solo questo (supponendo l'uso della jcommon e della jfreechart):

    codice:
    directory_xyz_non_importa/
      |
      +-- tua_applicazione.jar
      +-- lib/
           |
           +-- jcommon-1.0.16.jar
           +-- jfreechart-1.0.13.jar
    E il manifest è scritto correttamente (note sul limite dei 72 caratteri e il tassativo newline al fondo) con:

    Class-Path: lib/jcommon-1.0.16.jar lib/jfreechart-1.0.13.jar

    Tutto questo è corretto e deve funzionare.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  4. #14
    Utente di HTML.it L'avatar di Kilin
    Registrato dal
    Mar 2003
    Messaggi
    453
    Ok, ultima prova
    Fatto, non cambia niente

    Facciamo il punto?
    A me sembra che sia tutto corretto, ma non va comunque...

    Compilo (Clean and build main project), nessun errore, eseguo da netbeans, parte tutto per bene, quindi il programma è corretto...

    Al manifest non faccio modifiche, lascio che lo generi netbeans.

    Vado a vedere cosa genera, e trovo la situazione che dici tu:

    codice:
    dist/
      |
      +-- GreenBuilding.jar
      +-- lib/
           |
           +-- jcommon-1.0.16.jar
           +-- jfreechart-1.0.13.jar
           +-- toplink-essentials.jar
           +-- toplink-essentials-agent.jar
    A questo punto se doppio clicco il mio jar non succede niente. Allora vado da terminale, mi posiziono in "dist", lancio "java -jar GreenBuilding.jar", e ottengo:

    codice:
    Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/jfree/data/general/DefaultPieDataset
    	at java.lang.Class.getDeclaredMethods0(Native Method)
    	at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
    	at java.lang.Class.getDeclaredMethod(Unknown Source)
    	at java.awt.Component.isCoalesceEventsOverriden(Unknown Source)
    	at java.awt.Component.access$500(Unknown Source)
    	at java.awt.Component$3.run(Unknown Source)
    	at java.awt.Component$3.run(Unknown Source)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.awt.Component.checkCoalescing(Unknown Source)
    	at java.awt.Component.<init>(Unknown Source)
    	at java.awt.Container.<init>(Unknown Source)
    	at java.awt.Window.<init>(Unknown Source)
    	at java.awt.Frame.<init>(Unknown Source)
    	at java.awt.Frame.<init>(Unknown Source)
    	at javax.swing.JFrame.<init>(Unknown Source)
    	at green.GreenBuilding.<init>(GreenBuilding.java:36)
    	at green.GreenBuilding$16.run(GreenBuilding.java:824)
    	at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    	at java.awt.EventQueue.dispatchEvent(Unknown Source)
    	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.run(Unknown Source)
    Caused by: java.lang.ClassNotFoundException: org.jfree.data.general.DefaultPieDataset
    	at java.net.URLClassLoader$1.run(Unknown Source)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(Unknown Source)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	... 25 more
    la classe "DefaultPieDataset" che non trova, riesco a vederla all'interno del jfreechart-1.0.13.jar che sta nella cartella lib, nel percorso \org\jfree\data\general.

    Vado a vedere il file manifest del mio jar, ed è:

    codice:
    Manifest-Version: 1.0
    Ant-Version: Apache Ant 1.8.0
    Created-By: 1.6.0_14-b08 (Sun Microsystems Inc.)
    Main-Class: green.GreenBuilding
    Class-Path: lib/toplink-essentials.jar lib/toplink-essentials-agent.ja
     r lib/jcommon-1.0.16.jar lib/jfreechart-1.0.13.jar
    X-COMMENT: Main-Class will be added automatically by build
    la new line in fondo c'è, la riga classpath viene spezzata, penso per il discorso della lunghezza, e mandata a capo su una nuova riga che inizia con spazio.

    ho provato anche a creare un nuovo progetto di sana pianta, copiarci i sorgenti dell'altro ed aggiungere da capo le librerie, ma ottengo lo stesso comportamento

    ditemi che ci capite qualcosa voi perchè io sto andando fuori di testa, non so più che provare....

    EDIT: ma netbeans come lo lancia il programma? se riusciamo a vedere come lo lancia, cosa gli passa, non so, magari si può replicare all'esterno dell'IDE...

  5. #15
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Originariamente inviato da Kilin
    EDIT: ma netbeans come lo lancia il programma? se riusciamo a vedere come lo lancia, cosa gli passa, non so, magari si può replicare all'esterno dell'IDE...
    Secondo me è qui il punto. So che può sembrare una domanda stupida, ma cerco di escludere tutte le cause possibili: sei sicuro di prendere il JAR del progetto giusto? Te lo dico perchè oggi è una giornata un po' così per tutti... ho commesso proprio questo stesso errore stamattina dopo che, per 15 minuti, non vedevo applicare le modifiche che facevo ad un progetto... stavo compilando il programma sbagliato!

    Se sei certo al 100% di prendere i file giusti, l'unico altro motivo per un funzionamento di questo tipo è una installazione non funzionante della JRE che viene usata di default.

    Come ha già detto andbin: quella configurazione deve funzionare, non ci sono se e non ci sono ma.


    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

  6. #16
    Utente di HTML.it L'avatar di Kilin
    Registrato dal
    Mar 2003
    Messaggi
    453
    sì, sono sicuro che è il jar corretto ed il progetto corretto quello che sto compilando..

    non so, che si può provare a fare per vedere dov'è il problema?

  7. #17
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Prova a buttare tutto dentro ad un file ZIP (o RAR) e posta un link da cui scaricarlo... l'unica è provare ad eseguirlo su una macchina diversa.


    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

  8. #18
    Utente di HTML.it L'avatar di Kilin
    Registrato dal
    Mar 2003
    Messaggi
    453
    RAGAZZI HO RISOLTO

    anche se non ho capito bene che è successo aspetto voi per un'analisi

    in pratica, i primi giorni di prove java avevo provato ad interfacciarmi a MySql con il java connector/j. Non sapevo bene come installare le librerie e come trattare i .jar, quindi feci una cosa che probabilmente vi farà accapponare la pelle , ovvero scompattai il .jar nella cartella sources del mio progetto (senza guardare ammodo cosa ci fosse dentro), compilai, e tutto andava bene.

    Ora stavo sbattendo la testa nel muro, quando ho notato questa 'bruttura' che avevo fatto: ho rimosso dal progetto tutto quel che riguardava il connector/J, l'ho importato come libreria Jar, ricompilato.. e per magia il mio Jar ora non da alcun problema, si avvia al doppio click senza errori...

    ora, sinceramente io non ho capito come questa cosa possa aver dato noia, per giunta causando errori relativi ad un'altra libreria.. fatto sta che ora funziona

    che ne dite?

    ps: vi ringrazio tutti cmq per esser sempre così pazienti e disponibili

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