Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di wino_7
    Registrato dal
    Dec 2006
    Messaggi
    537

    Programma funziona in NetBeans ma non altrove

    Salve a tutti,
    ho creato un programma in java tramite NetBeans.
    Per lanciarlo l'ho sempre fatto da dentro NetBeans cliccando su run ma ora se io volessi prendere questo programma ed eseguirlo su altri pc non posso farlo perchè non mi viene creato nessun eseguibile ma solo file .class
    Io vorrei assemblare questo programma in un unico file e quando ci clicco mi deve partire come posso fare?

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    dovresti conoscere le regole di java, le quali ti indicano esplicitamente

    //per compilare
    1. javac NomeProgramma.java
    //per eseguire
    2. java NomeProgramma
    java -jar NomeJar.jar

    dovresti sapere che queste sono le opzioni della riga di comando (e sono gli stessi programmi che esegue Netbeans).
    Dovresti sapere che in Java non hai un eseguibile (non direttamente) ma una serie di file .class, che sono la "traduzione" del tuo programma in bytecode direttamente interpretati dalla tua jvm.
    Dovresti sapere che senza la jvm non puoi eseguire.
    Se leggi bene anche l'output della console di netbeans ti dice chiaramente che per eseguire il programma puoi fare

    java -jar pathAssolutoAlTuoJarNomeJar.jar

    e in tutto questo fermo restando che non devi cambiare classpath o settare altra roba.

    Esistono programmi che passano la tua applicazione in exe, ma diventano platform dependent e perdono la potenza di java

  3. #3
    Utente di HTML.it L'avatar di wino_7
    Registrato dal
    Dec 2006
    Messaggi
    537
    ok ho fatto quello che mi hai detto ma la cosa assurda è che quando compilo mi da 4 errori, quindi non compila.
    Il fatto è che se continua ad eseguire il programma da dentro NetBeans funziona, è mai possibile????

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    che errori hai?
    Il problema è che l'IDE mette in automatico delle impostazioni che non sai e quindi appena esci fuori tutti i problemi si ripresentano

  5. #5
    Utente di HTML.it L'avatar di wino_7
    Registrato dal
    Dec 2006
    Messaggi
    537
    Mi da questi errori

    codice:
    C:\Users\wino>java -jar "C:\Users\wino\Documents\NetBeansProjects\Organizer\Orga
    nizer\dist\Organizer.jar"
    Exception in thread "AWT-EventQueue-0" java.lang.ExceptionInInitializerError
            at Gui.MyJFrame.createJComponent(MyJFrame.java:88)
            at Gui.MyJFrame.<init>(MyJFrame.java:69)
            at Gui.MyJFrame.getInstance(MyJFrame.java:79)
            at Gui.WidgetBasedTableFactory.createJFrame(WidgetBasedTableFactory.java
    :9)
            at Gui.Organizer$1.run(Organizer.java:14)
            at java.awt.event.InvocationEvent.dispatch(Unknown Source)
            at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
            at java.awt.EventQueue.access$000(Unknown Source)
            at java.awt.EventQueue$1.run(Unknown Source)
            at java.awt.EventQueue$1.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.security.AccessControlContext$1.doIntersectionPrivilege(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.NullPointerException
            at javax.swing.ImageIcon.<init>(Unknown Source)
            at Gui.LayoutBasedTable.EditButton.<init>(EditButton.java:12)
            at Data.DbAccess.getAppuntamenti(DbAccess.java:69)
            at Gui.LayoutBasedTable.MyTableModel.<clinit>(MyTableModel.java:11)
            ... 19 more
    non mi ero accorto che in realtà il file .jar NetBeans lo creava nella cartella dist quindi per la compilazione lascio perdere (mi dava errori anche li, ma tanto il .jar ce l'ho), il problema persiste quando lo eseguo

  6. #6
    Caused by: java.lang.NullPointerException
    at javax.swing.ImageIcon.<init>(Unknown Source)
    at Gui.LayoutBasedTable.EditButton.<init>(EditButton. java:12)
    at Data.DbAccess.getAppuntamenti(DbAccess.java:69)
    at Gui.LayoutBasedTable.MyTableModel.<clinit>(MyTable Model.java:11)
    Molto probabilmente vai a leggere un'immagine da file e il percorso non corrisponde

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Originariamente inviato da wino_7
    non mi ero accorto che in realtà il file .jar NetBeans lo creava nella cartella dist quindi per la compilazione lascio perdere (mi dava errori anche li, ma tanto il .jar ce l'ho), il problema persiste quando lo eseguo
    Quello che hai detto non solo non ha alcun senso, ma è un errore tipico di chi non sa nemmeno cosa sia la compilazione.

    Il JAR viene costruito usando ciò che è stato generato dalla compilazione.

    Solo che gli ambienti di sviluppo sono subdoli (ed ecco perchè, metterli in mano a chi non ha ancora ben chiari i concetti fondamentali di qualunque linguaggio di programmazione, è deleterio).

    Se la compilazione ha generato degli errori, allora il JAR che hai nella dist è il risultato di una compilazione precedente.

    E' come costruire una casa per andarci ad abitare.

    Hai dato i progetti delle fondamenta agli ingegneri. Gli ingegneri hanno detto "sì, le fondamenta vanno bene" e hanno incaricato i muratori di costruirle.

    Poi hai dato loro i progetti per il piano terra. Gli ingegneri hanno storto il naso e hanno detto "no, qui non va bene nulla". I muratori, quindi, non hanno costruito nulla (se non le fondamenta di prima).

    Ora tu hai guardato la cartella "dist" e hai trovato il JAR (delle fondamenta) e hai pensato bene di "fregartene" di quello che hanno detto gli ingegneri, tanto il JAR c'è già... solo che il JAR non è la casa che credi tu, ma solo le fondamenta di prima.


    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. #8
    Utente di HTML.it L'avatar di wino_7
    Registrato dal
    Dec 2006
    Messaggi
    537
    Ciao LeleFT ti assicuro che il jar che eseguo da dentro NetBeans è quello relativo alle ultime modifiche che ho apportato al programma infatti fa esattamente quello che chiedo io per cui non è un jar relativo a precedenti compilazioni.

    Se ricompilo tutto da riga di comando non mi compila nulla e non solo se prendo il jar che mi ha creato NetBeans e lo eseguo da riga di comando non va, ma da dentro l'ide tutto funziona bene.

    In ogni caso penso che il problema è quello relativo ad un riferimento ad un'immagine che non esiste (come mi ha suggerito francesco.muia) infatti nelle cartelle non esiste tale immagine.

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    il problema è sempre relativo al fatto che tu fai qualcosa che netbeans setta in automatico. Ora il path all'immagine quale è? come carichi l'immagine??

  10. #10
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Originariamente inviato da wino_7
    Ciao LeleFT ti assicuro che il jar che eseguo da dentro NetBeans è quello relativo alle ultime modifiche che ho apportato al programma infatti fa esattamente quello che chiedo io per cui non è un jar relativo a precedenti compilazioni.
    Ma di questo sono certo anch'io.
    Quello che hai postato è il trace di un'eccezione, non di un errore di compilazione. E le eccezioni vengono sollevate in fase di esecuzione, quindi la compilazione è sicuramente andata a buon fine.

    Io volevo solo mettere il punto su quello che è l'errore tipico di chi è alle prime armi: confondere la fase di compilazione con la generazione del JAR. Ed ho riportato il caso tipico di chi "tralascia" gli errori di compilazione, credendo di potersi avvalere del JAR.

    Il problema del tuo stackTrace dell'eccezione è dovuto essenzialmente al caricamento dell'immagine, un'operazione che viene, appunto, effettuata in fase di esecuzione.


    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

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.