[Java] Eseguibile .jar che non si apre

Discussione in 'Java' iniziata da ariannaari, 16 Novembre 2013.

  1. ariannaari

    ariannaari Nuovo Utente

    Registrato:
    28 Settembre 2010
    Messaggi:
    22
    Mi Piace Ricevuti:
    10
    Punteggio:
    0
    Ragazzi buongiorno.
    Devo creare un eseguibile di un'applicazione java/javaswing che ho creato. Io lavoro su Netbeans ma vorrei si potesse aprire senza usare l'editor. Mi pare di aver capito, leggendo qua e là tra i vari forum, che sia una cattiva idea creare il .exe, ma che basti il .jar .
    Usando Netbeans, seguendo le indicazioni che ho trovato leggendo ho:
    -cliccato su Clean & build
    -si è creata la cartella dist e il file Rubrica.jar (la mia è un'applicazione che fa da rubrica)
    -clicco 2 volte su Rubrica.jar ma non succede niente di niente.
    Se faccio "apri con" e seleziono "Java(TM) Platform SE Binary", ugualmente non succede niente! La mia è un'applicazione con interfaccia grafica. Che problema c'è? come faccio ad eseguire la mia app senza entrare in Netbeans?

    Premetto che, l'output di Netbeans è questo:
    Codice:
    ant -f C:\\rubrica_federico clean jar
    init:
    deps-clean:
    Updating property file: C:\rubrica_federico\build\built-clean.properties
    Deleting directory C:\rubrica_federico\build
    clean:
    init:
    deps-jar:
    Created dir: C:\rubrica_federico\build
    Updating property file: C:\rubrica_federico\build\built-jar.properties
    Created dir: C:\rubrica_federico\build\classes
    Created dir: C:\rubrica_federico\build\empty
    Compiling 86 source files to C:\rubrica_federico\build\classes
    warning: [options] bootstrap class path not set in conjunction with -source 1.5
    Note: Some input files use or override a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    Note: Some input files use unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.
    1 warning
    Copying 258 files to C:\rubrica_federico\build\classes
    compile:
    Created dir: C:\rubrica_federico\dist
    Copying 1 file to C:\rubrica_federico\build
    Copy libraries to C:\rubrica_federico\dist\lib.
    Building jar: C:\rubrica_federico\dist\Rubrica.jar
    To run this application from the command line without Ant, try:
    java -jar "C:\rubrica_federico\dist\Rubrica.jar"
    jar:
    BUILD SUCCESSFUL (total time: 9 seconds)
    e, provando dal prompt dei comandi, ho verificato che ho questo errore, che a quanto pare però su netbeans non viene rilevato!

    Codice:
    C:\rubrica_federico\dist>java -jar "Rubrica.jar"
    Exception in thread "main" java.lang.NullPointerException
            at control.CImmagini.<init>(CImmagini.java:65)
            at control.CImmagini.istanza(CImmagini.java:75)
            at control.CStartup.main(CStartup.java:39)
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
            at control.CImmagini.<init>(CImmagini.java:65)
            at control.CImmagini.istanza(CImmagini.java:75)
            at presentation.componenti.backgroundedFittedLayeredPane.<init>(backgrou
    ndedFittedLayeredPane.java:24)
            at presentation.PMAIN.<init>(PMAIN.java:72)
            at control.CStartup$1.run(CStartup.java:32)
            at java.awt.event.InvocationEvent.dispatch(Unknown Source)
            at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
            at java.awt.EventQueue.access$200(Unknown Source)
            at java.awt.EventQueue$3.run(Unknown Source)
            at java.awt.EventQueue$3.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sour
    ce)
            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)
    Sapete aiutarmi?
     
    A ottofonsuppost piace questo elemento.
  2. ottofonsuppost

    ottofonsuppost Utente Attivo

    Registrato:
    10 Maggio 2016
    Messaggi:
    170
    Mi Piace Ricevuti:
    13
    Punteggio:
    18
    Un caso esemplare: l'utente ha scritto un programma in JAVA, ma non sa come funziona JAVA. Utilizza l'IDE NETBEANS che gli fa vedere il progetto, le risorse, ma lui non sa come funziona JAVA. E' tutto qui il problema. Non comprende come fa JAVA, una volta scritto e compilato un programma, ad essere eseguito in qualsiasi altro dispositivo esistente, in qualsiasi elettrodomestico, grazie alla VIRTUAL MACHINE. La PORTABILITA' di JAVA è famosissima. Che viene creato un BYTECODE lo saprà? Che il suo codice scritto si trovi in un file .JAVA lo saprà? Che una volta compilato compare un file .CLASS lo saprà? Che è il file .CLASS da trasportare negli altri dispositivi non lo sa. Sa scrivere in JAVA ma non sa come funziona JAVA.
    La rete internet è piena di programmatori JAVA che creano programmi, scrivono codice JAVA, ma non sanno come funziona JAVA. Per venire incontro a questi pseudo-programmatori OTTOFONSUPPOST ha creato un corso JAVA, proprio per capire COSA FA JAVA. Eccovi il link che figura sul forum MR.WEBMASTER del corso per neofiti:

    http://forum.mrwebmaster.it/threads...guerra-a-java-corso-gratis-per-neofiti.45758/

    Ottofonsuppost e la grande guerra a JAVA - Corso GRATIS per neofiti

    Nel caso in questione, l'utente pone fine alla portabilità di JAVA cercando di creare un ESEGUIBILE EXE.
    Per tale scopo si può utilizzare il programma JSmooth (giunto alla versione 0.9.9-7) che crea un eseguibile Windows di dimensioni ridotte e perfettamente funzionante con qualsiasi versione del S.O. Ciò che si cela dietro un programma gratuito, semplice e sufficientemente usabile come JSmooth, in realtà non è altro che un wrapper che crea un eseguibile Windows senza alterare la struttura del software: l'applicazione ottenuta non fa altro che mandare in pasto alla JVM i bytecode originali, nascondendo dietro al file .exe un'invocazione della JVM.

    http://jsmooth.sourceforge.net/
     
    Ultima modifica: 31 Luglio 2016
Sto caricando...

Condividi questa Pagina